Non so sè la sezione giusta sono nuovo, ricordo di aver preso da qui uno script per i popup che faceva comparire un messaggio in basso a sinistra ogni qual volta veniva preso un oggetto, solo che nel momento in cui il personaggio prende un oggetto chiave lo script si bugga e non funziona più, se ad esempio prendo prima l'oggetto chiave (della missione) e poi prendo una pozione nascosta.. non mi compare il messaggio per nessuno dei 2, mentre se prendo prima la pozione mi esce il popup solo della pozione..
Come posso risolvere?
Qualche ora fa avevo trovato questo script.. ora che mi sono registrato non trovo più la discussione
Questo è lo script:
Spoiler
$imported = {} if $imported == nil
$imported["H87_Popup"] = true
#===============================================================================
# Sistema Popup di Holy87
# Versione 1.1
#===============================================================================
# Questo script permette di mostrare in modo dinamico popup multipli per
# l'acquisizione o lo smarrimento di oro e oggetti, quando si ottiene un lev-up.
# Non solo, ma è possibile anche creare popup personalizzati per le più
# svariate situazioni. Basta mettere semplicemente in un evento, un Chiama
# Script con:
# Popup.show("messaggio")
# Oppure
# Popup.show("Messaggio",x) dove x sta all'id dell'icona
# oppure ancora
# Popup.show("Messaggio",x,[R,G,B,S]) dove RGB sono le tonalità, S la saturazione.
#-------------------------------------------------------------------------------
# INSTALLAZIONE
# Installare sotto Materials, prima del Main. Importare una immagine come barra
# per i popup. Non ha importanza la grandezza, lo script adatterà il popup a
# seconda delle dimesioni dell'immagine.
# INFO compatibilità:
# *Classe Scene_Map
# Alias: update, start, terminate
# *Classe Game_Party
# Alias: gain_gold, gain_item
# *Classe Game_Actor
# Sovrascrive: show_level_up
#===============================================================================
module H87_Popup
#-------------------------------------------------------------------------------
# CONFIGURAZIONE GENERALE
# Configura lo script nelle opzioni generiche.
#-------------------------------------------------------------------------------
#Velocità di comparsa del popup. Numeri piccoli aumentano la velocità.
Speed = 3
#-----------------------------------------------------------------------------
#Tempo in secondi, prima che il popup cominci a sparire.
PTime = 4
#-----------------------------------------------------------------------------
#Velocità di sparizione del popup una volta che scade il tempo
Fade = 4
#-----------------------------------------------------------------------------
#Coordinata Y del popup quando apparirà.
#Se viene impostato in basso allo schermo, popup consecutivi creeranno una
#pila che sale, altrimenti scenderà.
Altezza = 355
#-----------------------------------------------------------------------------
#Grafica dell'immagine dello sfondo del popup
Grafica = "BarraPopup"
#-----------------------------------------------------------------------------
#Distanza in pixel dal bordo sinistro dello schermo quando spunta il popup
Distanzax = 5
#Distanza in pixel dei popup consecutivi quando vengono messi in fila
Distanzay = 3
#-----------------------------------------------------------------------------
#Imposta lo switch che verrà usato per attivare e disattivare i popup
#automatici, nel caso tu voglia cambiare denaro e oggetti al giocatore senza
#che se ne accorga.
Switch = 2
#-------------------------------------------------------------------------------
# CONFIGURAZIONE SPECIFICA
# Configurazione specifica di attivazione, suono e colore di ogni tipo di popup
#-------------------------------------------------------------------------------
# *Configurazione Oggetti
#Seleziona il suono che verrà eseguito all'ottenimento dell'oggetto
SuonoOggetto = "Item1"
#Imposta la tonalità di colore del popup (Rosso, Verde, Blu e Saturazione)
ItemPreso= [80,0,0,0]
#-----------------------------------------------------------------------------
# *Configura l'ottenimento del denaro
#Seleziona l'icona che verrà mostrata quando otterrai del denaro
Iconaoro = 361
#Seleziona il suono che verrà eseguito all'ottenimento del denaro
SuonoOro = "Shop"
#Mostrare il popup quando si ottiene denaro?
Mostra_OroU = true
#Mostrare il popup quando si perde denaro?
Mostra_OroD = true
#Seleziona la tonalità di colore del popup quando si ottiene denaro
GoldTone = [-50,70,0,10]
#Seleziona la tonalità di colore del popup quando si perde denaro
GoldPerso= [70,0,-50,50]
#-------------------------------------------------------------------------------
# FONT DI GIOCO
# Configurazione del carattere
#-------------------------------------------------------------------------------
#Nome del font:
FontName = Font.default_name #sostituire con "nomefont"
FontSize = Font.default_size #sostituire con un valore, ad es. 20
FontOutline = true #false se non lo vuoi
#-----------------------------------------------------------------------------
# *Configura il livello superiore (Funziona solo se selezioni Mostra Level Up)
# Mostrare il livello superiore con un popup, o con il metodo classico?
MostraLevel = true
# Mostrare i poteri appresi quando si sale di livello su mappa?
MostraPoteri = true
#Icona del livello superiore
IconaLevel = 125
#Tonalità che viene mostrata al livello superiore
LivSup = [ 50, 50,100,0]
#Tonalità che viene mostrata per i nuovi poteri appresi
NuoveSkill = [ 50, 50,50,0]
#Suono che viene eseguito al livello superiore
SuonoLevel = "Up1"
#Testo dell'abilità appresa
Learn = "appresa!"
#-----------------------------------------------------------------------------
# *Configura popup per switch e variabili (funziona solo in modalità Test)
#Seleziona l'icona di switch e variabili
Iconaswitch = 80
#Seleziona la tonalità di colore
SwitchTone = [0,0,0,255]
#-----------------------------------------------------------------------------
#===============================================================================
# FINE CONFIGURAZIONE
# Modificare tutto ciò che c'è sotto può compromettere il corretto funzionamento
# dello script. Agisci a tuo rischio e pericolo!
#===============================================================================
end
#===============================================================================
# Modulo Popup
#===============================================================================
module Popup
#-----------------------------------------------------------------------------
# * mostra il popup
#-----------------------------------------------------------------------------
def self.show(testo, icona=0, tone=nil)
SceneManager.scene.mostra_popup(testo, icona, tone) if SceneManager.scene_is?(Scene_Map)
end
#-----------------------------------------------------------------------------
# * esegue un suono
#-----------------------------------------------------------------------------
def self.esegui(suono)
RPG::SE.new(suono,80,100).play if SceneManager.scene_is?(Scene_Map)
end
#-----------------------------------------------------------------------------
# * mostra l'oro in monete
#-----------------------------------------------------------------------------
def self.gold_show(money,tone)
show(money,-1,tone)
end
end
#===============================================================================
# Classe Scene_Map
#===============================================================================
class Scene_Map < Scene_Base
include H87_Popup
#-----------------------------------------------------------------------------
# * Start
#-----------------------------------------------------------------------------
alias h87_pstart start
def start
h87_pstart
if $popups.nil?
$popups = []
$oblo = Viewport.new(0,0,Graphics.width,Graphics.height)
else
$oblo.visible = true
$oblo.z = 10
end
print $popups
end
#-----------------------------------------------------------------------------
# * Update
#-----------------------------------------------------------------------------
alias h87_pupdate update
def update
h87_pupdate
aggiorna_popups
end
#-----------------------------------------------------------------------------
# * Aggiunge un nuovo popup
#-----------------------------------------------------------------------------
def mostra_popup(testo, icona=0, tone=nil)
immagine = Sprite.new($oblo)
immagine.bitmap = Cache.picture(Grafica)
immagine.tone = Tone.new(tone[0],tone[1],tone[2],tone[3]) if tone != nil
finestra = Window_Map_Popup.new(immagine.width,testo, icona)
finestra.viewport = $oblo
finestra.opacity = 0
finestra.x = 0-finestra.width
finestra.y = Altezza
immagine.x = riposizionax(finestra,immagine)
immagine.y = riposizionay(finestra,immagine)
popup = [finestra,immagine,0,0]
sposta_popup_su #sposta sopra tutti i popup già presenti
$popups.push(popup)
end
#-----------------------------------------------------------------------------
# * Calcola la posizione dell'immagine
#-----------------------------------------------------------------------------
def riposizionax(finestra,immagine)
larg=(finestra.width-immagine.width)/2
return finestra.x+larg
end
#-----------------------------------------------------------------------------
# * Calcola la posizione dell'immagine
#-----------------------------------------------------------------------------
def riposizionay(finestra,immagine)
alt=(finestra.height-immagine.height)/2
return finestra.y+alt
end
#-----------------------------------------------------------------------------
# * Aggiornamento
#-----------------------------------------------------------------------------
def aggiorna_popups
muovi_popup
fade_popup
end
#-----------------------------------------------------------------------------
# * Muove i popup
#-----------------------------------------------------------------------------
def muovi_popup
for i in 0..$popups.size-1
break if $popups[i] == nil
barra = $popups[i]
finestra = barra[0]
next if finestra.disposed?
immagine = barra[1]
tempo = barra[2]
prossimay= barra[3]
x = finestra.x
y = finestra.y
metax = Distanzax
if Altezza > Graphics.height/2
metay = Altezza - Distanzay - prossimay
else
metay = Altezza + Distanzay + prossimay
end
finestra.x += (metax-x)/Speed
finestra.y += (metay-y)/Speed
tempo += 1
immagine.x = riposizionax(finestra,immagine)
immagine.y = riposizionay(finestra,immagine)
if tempo > PTime*Graphics.frame_rate
finestra.contents_opacity -= Fade
immagine.opacity -= Fade
end
$popups[i] = [finestra,immagine,tempo, prossimay] #riassemblamento
end
end
#-----------------------------------------------------------------------------
# * Assegna la prossima coordinata Y
#-----------------------------------------------------------------------------
def sposta_popup_su
for i in 0..$popups.size-1
next if $popups[i][1].disposed?
$popups[i][3]+=$popups[i][1].height+Distanzay
end
end
#-----------------------------------------------------------------------------
# * Terminate
#-----------------------------------------------------------------------------
alias h87_pterminate terminate
def terminate
h87_pterminate
$oblo.visible = false
end
#-----------------------------------------------------------------------------
# *Elimina i popup non più presenti
#-----------------------------------------------------------------------------
def fade_popup
$popups.each do |popup|
next if popup.nil?
if popup[1].opacity == 0
elimina_elemento(popup)
end
end
end
end #scene_map
#===============================================================================
# Classe Window_Map_Popup
#===============================================================================
class Window_Map_Popup < Window_Base
def initialize(larghezza,testo, icona=0)
super(0,0,larghezza,48)
@testo = testo
@icona = icona
refresh
end
#-----------------------------------------------------------------------------
# * refresh della finestra
#-----------------------------------------------------------------------------
def refresh
self.contents.clear
if @icona < 0 and $imported["H87_Golds"]
show_gold_popup
else
show_text_popup
end
end
#-----------------------------------------------------------------------------
# * mostra il testo del popup
#-----------------------------------------------------------------------------
def show_text_popup
draw_icon(@icona,0,0)
@icona == 0 ? d = 0 : d = 24
self.contents.font.name = H87_Popup::FontName
self.contents.font.size = H87_Popup::FontSize
self.contents.font.outline = H87_Popup::FontOutline
text = convert_escape_characters(@testo)
text.gsub!(/\eC\[(\d+)\]/i,"")
self.contents.draw_text(d,0,self.width-(self.padding*2)-d,line_height,text)
end
#-----------------------------------------------------------------------------
# * mostra l'oro in monete
#-----------------------------------------------------------------------------
def show_gold_popup
draw_currency_value(@testo.to_i, "", 0, 0, self.width-(self.padding*2))
end
end #Scene_Map
#===============================================================================
# Classe Game_Party
#===============================================================================
class Game_Party < Game_Unit
alias ottieni_oro gain_gold unless $@
#-----------------------------------------------------------------------------
# * Ottieni Oro
#-----------------------------------------------------------------------------
def gain_gold(amount)
if $game_switches[H87_Popup::Switch] == false
if amount> 0 and H87_Popup::Mostra_OroU
if $imported["H87_Golds"]
Popup.gold_show(amount,H87_Popup::GoldTone)
else
Popup.show("+"+amount.to_s+Vocab.currency_unit,H87_Popup::Iconaoro,H87_Popup::GoldTone)
end
Popup.esegui(H87_Popup::SuonoOro)
end
if amount < 0 and H87_Popup::Mostra_OroD
if $imported["H87_Golds"]
Popup.gold_show(amount,H87_Popup::GoldPerso)
else
Popup.show(amount.to_s+Vocab.currency_unit,H87_Popup::Iconaoro,H87_Popup::GoldPerso)
end
Popup.esegui(H87_Popup::SuonoOro)
end
end
ottieni_oro(amount)
end
#-----------------------------------------------------------------------------
# * Ottieni Oggetto
#-----------------------------------------------------------------------------
alias prendi_oggetto gain_item
def gain_item(item, amount, include_equip = false)
case item
when RPG::Item
oggetto = $data_items[item.id]
when RPG::Armor
oggetto = $data_armors[item.id]
when RPG::Weapon
oggetto = $data_weapons[item.id]
end
if amount > 0 and $game_switches[H87_Popup::Switch] == false and item != nil
nome = oggetto.name
icona = oggetto.icon_index
testo = sprintf("%s x%d",nome,amount)
Popup.show(testo,icona,H87_Popup::ItemPreso)
Popup.esegui(H87_Popup::SuonoOggetto)
end
prendi_oggetto(item, amount, include_equip)
end
end # Game_Party
#===============================================================================
# Classe Game_Actor
#===============================================================================
class Game_Actor < Game_Battler
#-----------------------------------------------------------------------------
# * Mostra Lv. Up
#-----------------------------------------------------------------------------
def display_level_up(new_skills)
if SceneManager.scene_is?(Scene_Map) and H87_Popup::MostraLevel
testo = sprintf("%s %s%2d!",@name,Vocab::level,@level)
Popup.show(testo,H87_Popup::IconaLevel,H87_Popup::LivSup)
Popup.esegui(H87_Popup::SuonoLevel)
if H87_Popup::MostraPoteri
for skill in new_skills
testo = sprintf("%s %s",skill.name,H87_Popup::Learn)
Popup.show(testo,skill.icon_index,H87_Popup::NuoveSkill)
end
end
else
$game_message.new_page
$game_message.add(sprintf(Vocab::LevelUp, @name, Vocab::level, @level))
new_skills.each do |skill|
$game_message.add(sprintf(Vocab::ObtainSkill, skill.name))
end
end
end
end # Game_Actor
#===============================================================================
# Classe Scene_Title
#===============================================================================
class Scene_Title < Scene_Base
#-----------------------------------------------------------------------------
# * eliminazione dei popup
#-----------------------------------------------------------------------------
alias h87_pop_start start unless $@
def start
unless $popups.nil?
$popups.each do |i|
elimina_elemento(i)
end
$oblo.dispose
$popups = nil
$oblo = nil
end
h87_pop_start
end
end
#===============================================================================
# Classe Scene_Base
#===============================================================================
class Scene_Base
#-----------------------------------------------------------------------------
# *Dispone finestre e picture
#-----------------------------------------------------------------------------
def elimina_elemento(i)
i[0].dispose unless i[0].disposed?
i[1].dispose unless i[1].disposed?
$popups.delete(i)
end
end
$imported = {} if $imported == nil
$imported["H87_Popup"] = true
#===============================================================================
# Sistema Popup di Holy87
# Versione 1.1
#===============================================================================
# Questo script permette di mostrare in modo dinamico popup multipli per
# l'acquisizione o lo smarrimento di oro e oggetti, quando si ottiene un lev-up.
# Non solo, ma è possibile anche creare popup personalizzati per le più
# svariate situazioni. Basta mettere semplicemente in un evento, un Chiama
# Script con:
# Popup.show("messaggio")
# Oppure
# Popup.show("Messaggio",x) dove x sta all'id dell'icona
# oppure ancora
# Popup.show("Messaggio",x,[R,G,B,S]) dove RGB sono le tonalità, S la saturazione.
#-------------------------------------------------------------------------------
# INSTALLAZIONE
# Installare sotto Materials, prima del Main. Importare una immagine come barra
# per i popup. Non ha importanza la grandezza, lo script adatterà il popup a
# seconda delle dimesioni dell'immagine.
# INFO compatibilità:
# *Classe Scene_Map
# Alias: update, start, terminate
# *Classe Game_Party
# Alias: gain_gold, gain_item
# *Classe Game_Actor
# Sovrascrive: show_level_up
#===============================================================================
module H87_Popup
#-------------------------------------------------------------------------------
# CONFIGURAZIONE GENERALE
# Configura lo script nelle opzioni generiche.
#-------------------------------------------------------------------------------
#Velocità di comparsa del popup. Numeri piccoli aumentano la velocità.
Speed = 3
#-----------------------------------------------------------------------------
#Tempo in secondi, prima che il popup cominci a sparire.
PTime = 4
#-----------------------------------------------------------------------------
#Velocità di sparizione del popup una volta che scade il tempo
Fade = 4
#-----------------------------------------------------------------------------
#Coordinata Y del popup quando apparirà.
#Se viene impostato in basso allo schermo, popup consecutivi creeranno una
#pila che sale, altrimenti scenderà.
Altezza = 355
#-----------------------------------------------------------------------------
#Grafica dell'immagine dello sfondo del popup
Grafica = "BarraPopup"
#-----------------------------------------------------------------------------
#Distanza in pixel dal bordo sinistro dello schermo quando spunta il popup
Distanzax = 5
#Distanza in pixel dei popup consecutivi quando vengono messi in fila
Distanzay = 3
#-----------------------------------------------------------------------------
#Imposta lo switch che verrà usato per attivare e disattivare i popup
#automatici, nel caso tu voglia cambiare denaro e oggetti al giocatore senza
#che se ne accorga.
Switch = 2
#-------------------------------------------------------------------------------
# CONFIGURAZIONE SPECIFICA
# Configurazione specifica di attivazione, suono e colore di ogni tipo di popup
#-------------------------------------------------------------------------------
# *Configurazione Oggetti
#Seleziona il suono che verrà eseguito all'ottenimento dell'oggetto
SuonoOggetto = "Item1"
#Imposta la tonalità di colore del popup (Rosso, Verde, Blu e Saturazione)
ItemPreso= [80,0,0,0]
#-----------------------------------------------------------------------------
# *Configura l'ottenimento del denaro
#Seleziona l'icona che verrà mostrata quando otterrai del denaro
Iconaoro = 361
#Seleziona il suono che verrà eseguito all'ottenimento del denaro
SuonoOro = "Shop"
#Mostrare il popup quando si ottiene denaro?
Mostra_OroU = true
#Mostrare il popup quando si perde denaro?
Mostra_OroD = true
#Seleziona la tonalità di colore del popup quando si ottiene denaro
GoldTone = [-50,70,0,10]
#Seleziona la tonalità di colore del popup quando si perde denaro
GoldPerso= [70,0,-50,50]
#-------------------------------------------------------------------------------
# FONT DI GIOCO
# Configurazione del carattere
#-------------------------------------------------------------------------------
#Nome del font:
FontName = Font.default_name #sostituire con "nomefont"
FontSize = Font.default_size #sostituire con un valore, ad es. 20
FontOutline = true #false se non lo vuoi
#-----------------------------------------------------------------------------
# *Configura il livello superiore (Funziona solo se selezioni Mostra Level Up)
# Mostrare il livello superiore con un popup, o con il metodo classico?
MostraLevel = true
# Mostrare i poteri appresi quando si sale di livello su mappa?
MostraPoteri = true
#Icona del livello superiore
IconaLevel = 125
#Tonalità che viene mostrata al livello superiore
LivSup = [ 50, 50,100,0]
#Tonalità che viene mostrata per i nuovi poteri appresi
NuoveSkill = [ 50, 50,50,0]
#Suono che viene eseguito al livello superiore
SuonoLevel = "Up1"
#Testo dell'abilità appresa
Learn = "appresa!"
#-----------------------------------------------------------------------------
# *Configura popup per switch e variabili (funziona solo in modalità Test)
#Seleziona l'icona di switch e variabili
Iconaswitch = 80
#Seleziona la tonalità di colore
SwitchTone = [0,0,0,255]
#-----------------------------------------------------------------------------
#===============================================================================
# FINE CONFIGURAZIONE
# Modificare tutto ciò che c'è sotto può compromettere il corretto funzionamento
# dello script. Agisci a tuo rischio e pericolo!
#===============================================================================
end
#===============================================================================
# Modulo Popup
#===============================================================================
module Popup
#-----------------------------------------------------------------------------
# * mostra il popup
#-----------------------------------------------------------------------------
def self.show(testo, icona=0, tone=nil)
SceneManager.scene.mostra_popup(testo, icona, tone) if SceneManager.scene_is?(Scene_Map)
end
#-----------------------------------------------------------------------------
# * esegue un suono
#-----------------------------------------------------------------------------
def self.esegui(suono)
RPG::SE.new(suono,80,100).play if SceneManager.scene_is?(Scene_Map)
end
#-----------------------------------------------------------------------------
# * mostra l'oro in monete
#-----------------------------------------------------------------------------
def self.gold_show(money,tone)
show(money,-1,tone)
end
end
#===============================================================================
# Classe Scene_Map
#===============================================================================
class Scene_Map < Scene_Base
include H87_Popup
#-----------------------------------------------------------------------------
# * Start
#-----------------------------------------------------------------------------
alias h87_pstart start
def start
h87_pstart
if $popups.nil?
$popups = []
$oblo = Viewport.new(0,0,Graphics.width,Graphics.height)
else
$oblo.visible = true
$oblo.z = 10
end
print $popups
end
#-----------------------------------------------------------------------------
# * Update
#-----------------------------------------------------------------------------
alias h87_pupdate update
def update
h87_pupdate
aggiorna_popups
end
#-----------------------------------------------------------------------------
# * Aggiunge un nuovo popup
#-----------------------------------------------------------------------------
def mostra_popup(testo, icona=0, tone=nil)
immagine = Sprite.new($oblo)
immagine.bitmap = Cache.picture(Grafica)
immagine.tone = Tone.new(tone[0],tone[1],tone[2],tone[3]) if tone != nil
finestra = Window_Map_Popup.new(immagine.width,testo, icona)
finestra.viewport = $oblo
finestra.opacity = 0
finestra.x = 0-finestra.width
finestra.y = Altezza
immagine.x = riposizionax(finestra,immagine)
immagine.y = riposizionay(finestra,immagine)
popup = [finestra,immagine,0,0]
sposta_popup_su #sposta sopra tutti i popup già presenti
$popups.push(popup)
end
#-----------------------------------------------------------------------------
# * Calcola la posizione dell'immagine
#-----------------------------------------------------------------------------
def riposizionax(finestra,immagine)
larg=(finestra.width-immagine.width)/2
return finestra.x+larg
end
#-----------------------------------------------------------------------------
# * Calcola la posizione dell'immagine
#-----------------------------------------------------------------------------
def riposizionay(finestra,immagine)
alt=(finestra.height-immagine.height)/2
return finestra.y+alt
end
#-----------------------------------------------------------------------------
# * Aggiornamento
#-----------------------------------------------------------------------------
def aggiorna_popups
muovi_popup
fade_popup
end
#-----------------------------------------------------------------------------
# * Muove i popup
#-----------------------------------------------------------------------------
def muovi_popup
for i in 0..$popups.size-1
break if $popups[i] == nil
barra = $popups[i]
finestra = barra[0]
next if finestra.disposed?
immagine = barra[1]
tempo = barra[2]
prossimay= barra[3]
x = finestra.x
y = finestra.y
metax = Distanzax
if Altezza > Graphics.height/2
metay = Altezza - Distanzay - prossimay
else
metay = Altezza + Distanzay + prossimay
end
finestra.x += (metax-x)/Speed
finestra.y += (metay-y)/Speed
tempo += 1
immagine.x = riposizionax(finestra,immagine)
immagine.y = riposizionay(finestra,immagine)
if tempo > PTime*Graphics.frame_rate
finestra.contents_opacity -= Fade
immagine.opacity -= Fade
end
$popups[i] = [finestra,immagine,tempo, prossimay] #riassemblamento
end
end
#-----------------------------------------------------------------------------
# * Assegna la prossima coordinata Y
#-----------------------------------------------------------------------------
def sposta_popup_su
for i in 0..$popups.size-1
next if $popups[i][1].disposed?
$popups[i][3]+=$popups[i][1].height+Distanzay
end
end
#-----------------------------------------------------------------------------
# * Terminate
#-----------------------------------------------------------------------------
alias h87_pterminate terminate
def terminate
h87_pterminate
$oblo.visible = false
end
#-----------------------------------------------------------------------------
# *Elimina i popup non più presenti
#-----------------------------------------------------------------------------
def fade_popup
$popups.each do |popup|
next if popup.nil?
if popup[1].opacity == 0
elimina_elemento(popup)
end
end
end
end #scene_map
#===============================================================================
# Classe Window_Map_Popup
#===============================================================================
class Window_Map_Popup < Window_Base
def initialize(larghezza,testo, icona=0)
super(0,0,larghezza,48)
@testo = testo
@icona = icona
refresh
end
#-----------------------------------------------------------------------------
# * refresh della finestra
#-----------------------------------------------------------------------------
def refresh
self.contents.clear
if @icona < 0 and $imported["H87_Golds"]
show_gold_popup
else
show_text_popup
end
end
#-----------------------------------------------------------------------------
# * mostra il testo del popup
#-----------------------------------------------------------------------------
def show_text_popup
draw_icon(@icona,0,0)
@icona == 0 ? d = 0 : d = 24
self.contents.font.name = H87_Popup::FontName
self.contents.font.size = H87_Popup::FontSize
self.contents.font.outline = H87_Popup::FontOutline
text = convert_escape_characters(@testo)
text.gsub!(/\eC\[(\d+)\]/i,"")
self.contents.draw_text(d,0,self.width-(self.padding*2)-d,line_height,text)
end
#-----------------------------------------------------------------------------
# * mostra l'oro in monete
#-----------------------------------------------------------------------------
def show_gold_popup
draw_currency_value(@testo.to_i, "", 0, 0, self.width-(self.padding*2))
end
end #Scene_Map
#===============================================================================
# Classe Game_Party
#===============================================================================
class Game_Party < Game_Unit
alias ottieni_oro gain_gold unless $@
#-----------------------------------------------------------------------------
# * Ottieni Oro
#-----------------------------------------------------------------------------
def gain_gold(amount)
if $game_switches[H87_Popup::Switch] == false
if amount> 0 and H87_Popup::Mostra_OroU
if $imported["H87_Golds"]
Popup.gold_show(amount,H87_Popup::GoldTone)
else
Popup.show("+"+amount.to_s+Vocab.currency_unit,H87_Popup::Iconaoro,H87_Popup::GoldTone)
end
Popup.esegui(H87_Popup::SuonoOro)
end
if amount < 0 and H87_Popup::Mostra_OroD
if $imported["H87_Golds"]
Popup.gold_show(amount,H87_Popup::GoldPerso)
else
Popup.show(amount.to_s+Vocab.currency_unit,H87_Popup::Iconaoro,H87_Popup::GoldPerso)
end
Popup.esegui(H87_Popup::SuonoOro)
end
end
ottieni_oro(amount)
end
#-----------------------------------------------------------------------------
# * Ottieni Oggetto
#-----------------------------------------------------------------------------
alias prendi_oggetto gain_item
def gain_item(item, amount, include_equip = false)
case item
when RPG::Item
oggetto = $data_items[item.id]
when RPG::Armor
oggetto = $data_armors[item.id]
when RPG::Weapon
oggetto = $data_weapons[item.id]
end
if amount > 0 and $game_switches[H87_Popup::Switch] == false and item != nil
nome = oggetto.name
icona = oggetto.icon_index
testo = sprintf("%s x%d",nome,amount)
Popup.show(testo,icona,H87_Popup::ItemPreso)
Popup.esegui(H87_Popup::SuonoOggetto)
end
prendi_oggetto(item, amount, include_equip)
end
end # Game_Party
#===============================================================================
# Classe Game_Actor
#===============================================================================
class Game_Actor < Game_Battler
#-----------------------------------------------------------------------------
# * Mostra Lv. Up
#-----------------------------------------------------------------------------
def display_level_up(new_skills)
if SceneManager.scene_is?(Scene_Map) and H87_Popup::MostraLevel
testo = sprintf("%s %s%2d!",@name,Vocab::level,@level)
Popup.show(testo,H87_Popup::IconaLevel,H87_Popup::LivSup)
Popup.esegui(H87_Popup::SuonoLevel)
if H87_Popup::MostraPoteri
for skill in new_skills
testo = sprintf("%s %s",skill.name,H87_Popup::Learn)
Popup.show(testo,skill.icon_index,H87_Popup::NuoveSkill)
end
end
else
$game_message.new_page
$game_message.add(sprintf(Vocab::LevelUp, @name, Vocab::level, @level))
new_skills.each do |skill|
$game_message.add(sprintf(Vocab::ObtainSkill, skill.name))
end
end
end
end # Game_Actor
#===============================================================================
# Classe Scene_Title
#===============================================================================
class Scene_Title < Scene_Base
#-----------------------------------------------------------------------------
# * eliminazione dei popup
#-----------------------------------------------------------------------------
alias h87_pop_start start unless $@
def start
unless $popups.nil?
$popups.each do |i|
elimina_elemento(i)
end
$oblo.dispose
$popups = nil
$oblo = nil
end
h87_pop_start
end
end
#===============================================================================
# Classe Scene_Base
#===============================================================================
class Scene_Base
#-----------------------------------------------------------------------------
# *Dispone finestre e picture
#-----------------------------------------------------------------------------
def elimina_elemento(i)
i[0].dispose unless i[0].disposed?
i[1].dispose unless i[1].disposed?
$popups.delete(i)
end
end