-
Posts
59 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Posts posted by simo_23
-
-
Motlo molto particolare la storia. E per adesso gli screen promettono molto bene.
Le zone d'ambra le hai "riprese" da Fringe?
-
Nella sezione CONFIGURAZIONE GENERALE c'è un settaggio chiamato Distanza_x, che indica a quanti pixel di distanza dal bordo sinistro compaia il popup. Devi regolarlo in base alla dimensione della tua finestra. Se hai quelle di default, prova con 510, dovrebbe andar bene.
Mi sà che questo per ora è l'unico modo.
-
Qualcuno ha trovato delle soluzioni? Perchè io proprio non ne ho :(
-
Ok, allora ho fatto come dici tu. Ma nulla. xD
Ho supposto da me stesso che mettendo il commento lì eliminavamo permanentemente la variabile @oblo, almeno perchè lì doveva essere il momento della sua inizializzazione. Quindi ho provato a mettere sotto commento anche la riga che dichiarava il Viewport, e lo script funziona alla perfezione, ma i popup sono ancora "sotto" la luce.
Questo è il metodo mostra_popup che ho semplicemente riordinato e ho aggiunto la .z all'oggetto immagine, che essendo uno sprite ha tra i suoi attributi la profondità (z):
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.opacity = 0
finestra.x = 0 - finestra.width
finestra.y = Altezza
immagine.x = riposizionax(finestra,immagine)
immagine.y = riposizionay(finestra,immagine)
immagine.z = 200
popup = [finestra, immagine, 0, 0]
sposta_popup_su #sposta sopra tutti i popup già presenti
@popups.push(popup)
endPoi volevo fare una domanda: l'icona stessa ed il testo non sono sprite anche loro? Quindi al momento della loro creazione basta specificare la .z anche per il loro sprite ed il gioco è fatto (questo lo penso io)
Solo che nonostante abbia cercato, non capisco proprio da dove prendi i parametri "testo" ed "icona".
Credo che così si potrebbe risolvere, ma qua gli esperti siete voi xD.
Aspetto risposte. =D
-
Provato con quello del topic, sia sopra che sotto la voce dello script di Khas, ma il problema rimane comunque.
*Modalità ricerca altre soluzioni: on*
-
Allora, la faccio breve.
Quando comparivano i popup essi erano influenzati dalle luci/ombre presenti nella mappa.
Ovvero, se c'èra della luce vicino ai popup, la loro grafica risentiva della luce e si "colorava" di conseguenza.
Questo non deve accadere per 2 motivi:
- 1: I popup fungono da "narrazione esterna", quindi non devono essere influenzati da altri script
- 2: Se c'è una zona di ombra totale, risulta difficile la comprensione del popup stesso.
Dopo aver sondato il terreno con Holy87 che mi ha gentilmente risposto e dopo aver varie volte escogitato metodi indolori per il suicidio ecco a cosa sono arrivato:
$imported = {} if $imported == nil
$imported["H87_Popup"] = true
#===============================================================================
# Sistema Popup di Holy87
# Versione 1.0
#===============================================================================
# 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.
Time = 3
#-----------------------------------------------------------------------------
#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 = "PopupBar"
#-----------------------------------------------------------------------------
#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 = 1
#-------------------------------------------------------------------------------
# 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= [-50,0,120,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]
#-----------------------------------------------------------------------------
# *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
def self.show(testo, icona=0, tone=nil)
SceneManager.scene.mostra_popup(testo, icona, tone) if SceneManager.scene_is?(Scene_Map)
end
def self.esegui(suono)
RPG::SE.new(suono,80,100).play if SceneManager.scene_is?(Scene_Map)
end
end
#===============================================================================
# Classe Scene_Map
#===============================================================================
class Scene_Map < Scene_Base
include H87_Popup
#-----------------------------------------------------------------------------
# * Start
#-----------------------------------------------------------------------------
alias h87_pstart start
def start
h87_pstart
@popups = []
@oblo = Viewport.new(0,0,Graphics.width,Graphics.height)
@oblo.z = 200
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.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 > Time*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
for i in 0..@popups.size-1
elimina_elemento(i)
end
@oblo.dispose
end
#-----------------------------------------------------------------------------
# *Elimina i popup non più presenti
#-----------------------------------------------------------------------------
def fade_popup
for i in 0..@popups.size-1
next if @popups[i][1].disposed?
if @popups[i][1].opacity == 0
elimina_elemento(i)
end
end
end
#-----------------------------------------------------------------------------
# *Dispone finestre e picture
#-----------------------------------------------------------------------------
def elimina_elemento(i)
@popups[i][0].dispose unless @popups[i][0].disposed?
@popups[i][1].dispose unless @popups[i][1].disposed?
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
def refresh
self.contents.clear
draw_icon(@icona,0,0)
@icona == 0 ? d = 0 : d = 24
self.contents.draw_text(d,0,self.width-(self.padding*2)-d,line_height,@testo)
end
end #Scene_Map
#===============================================================================
# Classe Game_Party
#===============================================================================
class Game_Party < Game_Unit
alias ottieni_oro gain_gold
#-----------------------------------------------------------------------------
# * Ottieni Oro
#-----------------------------------------------------------------------------
def gain_gold(amount)
if $game_switches[H87_Popup::Switch] == false
if amount> 0 and H87_Popup::Mostra_OroU
Popup.show("+"+amount.to_s+Vocab.currency_unit,H87_Popup::Iconaoro,H87_Popup::GoldTone)
Popup.esegui(H87_Popup::SuonoOro)
end
if amount < 0 and H87_Popup::Mostra_OroD
Popup.show(amount.to_s+Vocab.currency_unit,H87_Popup::Iconaoro,H87_Popup::GoldPerso)
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
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_ActorLa mia aggiunta è stata:
@oblo.z = 200, che produce il seguente effetto:
http://i49.tinypic.com/2db9bh1.png
Cioè quello di "sollevare" il popup ad un livello superiore.
Adesso basta soltanto che qualcuno mi dica come disegnare l'icona ed il testo ad un livello superiore a quello della grafica del popup xD.
Vi prego, esimetemi dal suicidio. Aiutate una povera anima pia. Grazie e addio.
-
Avete visto che l'esser niubbi alla fine funziona?
Holy perchè il link a questo script dell'Ace non lo metti anche in firma, cosicchè se qualcuno lo cerca non si danna l'anima?
-
Grazie mille Holy!
-
Giusto, xD, ma da niubbazzo che sono pensavo che la nuova versione dell'RGSS3 presente sull'Ace avesse una sorta di retrocompatibilità con gli script precedenti. I'm Sorry! >.<
-
Provato sul VX Ace e non funge. Come risolvo?
-
Ah, bene...Sinceramente non avevo letto per intero lo script, ma comunque io resto un niubbazzo in fatto di RGSS.
Quindi basta abiltare questi due boolean e il gioco è magicamente fatto?
-
xD...Hai ragione Guardian.
Comunque mi riferivo a quello presente nel forum. In questo topic ci sono arrivato da quello della lista di tutti gli script, e vedendo nella stessa lista salto e corsa chiedevo se si potessero unire. In ogni caso ecco il link allo script del salto ^^.
-
Ragazzi sarebbe possibile unire lo script del salto con quello della corsa, in modo tale che si possa sia correre che saltare ed inoltre con il salto si perda un pò di stamina?
-
Sono contento che tu lo abbia scaricato...
Non ricordo più come si fa ad aggiungere il codice url e così non sono riuscito a modifiicare il primo post.
Fammi sapere come ti sembra il gioco :rovatfl:
Certamente, provvederò al più presto =D
-
Scaricato appena adesso, ma qualcuno provveda ad aggiornare il link nel primo post del topic che è rimasto quello vecchio!
-
Come da titolo, esiste qualche script che permette di inserire l'usura di oggetti, armi o armature?
-
Prova con questo, ha delle funzioni che ti potrebbero interessare.
-
Grandissimo! Proprio quello che mi serviva! ^^
-
Ovviamente ha funziato in un microsecondo...XD...grazie mille Guardian ^^
-
Ragazzi ho questo problema con le faces. Come faccio a visualizzarla correttamente?
http://i56.tinypic.com/abpehc.png
(Vorrei che si vedesse chiaramente e non in trasparenza) ^^
-
Ragazzi a me da' un errore alla riga 155:
RGSSError occoured.
failed to create bitmap
Scusate la domanda da niubbo, ma come potrei risolvere? Se fosse possibile mi potreste anche dare una spiegazione di quello che provoca l'errore?
-
Scusate se riesumo un post vecchio di tre mesi, ma leggendo la discussione questo può essere un bel gioco. Comunque, non và il link per scaricare il gioco. Potreste riupparlo, please? =D
-
D: Ragazzi, quando creo una porta con la creazione evento rapido, e vado a provarla, funziona tutto, ma nell'animazione, quando la porta si apre, sotto si vede il pezzo di tile che avevo messo (in questo caso i mattoni). Come faccio a far vedere nero al di sotto della porta quando si apre??
-
Ragazzi io sono arrivato secondo al Banner Contest #50, mi sembra ci siano 5 Rens di "compenso" =D.
Ecco il link: http://www.rpg2s.net/forum/index.php?showtopic=12042
FATTO

Eridea
in Progetti VX e VX-Ace
Posted
Citazione apprezzatissima, almeno per quanto mi riguarda. (Adoro quella serie! *.*)
A me sembrano due con loschi propositi. Sarà per via degli occhiali? :\