Jump to content
Rpg²S Forum

Fog System


Guest clyde
 Share

Recommended Posts

Guest clyde

Fog System

Descrizione

Permette di aggiungere la nebbia in stile XP (per i nostalgici!).

 

Autore

Rafael_Sol_Maker

 

Tradotto da

Non voglio essere creditato

 

Allegati

N/D

 

Istruzioni per l'uso

Istruzioni in testa allo script.

 

 

 

#===============================================================================
#				 RAFAEL_SOL_MAKER's ACE PERFECT FOG v1.0
# Tradotto da: Non voglio essere creditato
#_______________________________________________________________________________
#   Descrizione  | Aggiunge un effetto nebbia, stile XP
#				| nelle mappe.
#				| E' un semplice port della versione VX.
#________________|______________________________________________________________
#	 Uso		| Inserisci questi comandi nel comando evento 'Script...'
#				|
#				|	setup_fog("filename", hue, opacity, blend_type, zoom,
#				|			  speed_x, speed_y, visible?)
#				|
#				|   Dove:	  Equivale a:
#				| filename	> Nome della bitmap da usare
#				| hue		 > Tonalità. Usa un valore tra 0 e 360.
#				| opacity	 > Opacità. Usa un valore tra 0 e 255.
#				| blend_type  > Modalità di blending.
#				| zoom		> Zoom, in scala. Sono permessi valori decimali.
#				| speed_x	 > Velocità orizzontale, in pixel. Sono permessi valori negativi.
#				| speed_y	 > Velocità verticale, in pixel. Sono permessi valori negativi.
#				| visible?	> Visibilità della nebbia. Usa 'true' o 'false'.
#				|
#			  > | Metti le grafiche nella cartella 'Graphics/Fogs/'.
#				|
#			  > | Il parametro 'blend_type' accetta tre valori:
#				| BLEND_NORMAL, BLEND_ADD e BLEND_SUB, rispettivamente
#				| Normale, Aggiungi e Sottrai.
#				|
#			  > | Nota:
#	  |Tutti i parametri sono opzionali.
#	 | Quando omessi, verranno usati i parametri di default.
#				| Per omettere un parametro, inserisci 'nil' alla sua posizione.
#				|
#			  > | Puoi impostare i valori di default nella sezione Configurazione.
#				| Ora, vediamo gli altri comandi
#				|
#				|	 change_fog_tone(tone, [duration])
#				|	 change_fog_opacity(opacity, [duration])
#				|
#			  > | Per cambiare la tonalità e l'opacità della nebbia, rispettivamente.
#				| In 'tone', dovrai usare un oggetto 'Tone':
#				|   Tone.new(red, green, blue, [gray])
#				| Dove i colori accettano valori tra -255 e 255 mentre 'gray' da 0 a 255.
#				| Anche in 'opacity' usa un valore tra 0 e 255.
#				| Il valore di 'duration' è opzionale, ed è misurato in frame.
#				| Se il valore è omesso la transizione sarà immediata.
#				|
#				|	 show_fog
#				|	 hide_fog
#				|
#			  > | Usa questi due comandi per mostrare e per nascondere la nebbia.
#________________|______________________________________________________________
# Specifiche  | Difficoltà d'Uso:
#				|  * * ½ (alcuni comandi potrebbero richiedere conoscenze di scripting)
#				| Difficoltà di Scripting:
#				|  * * (richiede alcune conoscenze di Grafica/Motore di Gioco)
#				| Compatibilità:
#				|  * * * *(Alta Compatibilità)
#				| New Methods:
#				|  - (many, and a brand new Game class, see in the code below)
#				| Overwritten Methods:
#				|  - (none)
#				| Aliased Methods:
#				|  - Game_Map.setup
#				|  - Game_Map.update
#				|  - Spriteset_Map.initialize
#				|  - Spriteset_Map.update
#				|  - Spriteset_Map.dispose
#________________|______________________________________________________________
# Special Thanks | Miget man12, Woratana
#________________|______________________________________________________________
#===============================================================================
#_______________________________________________________________________________
#	 CONFIGURAZIONE SCRIPT - Alcune regolazioni che puoi fare senza problemi
#_______________________________________________________________________________
#===============================================================================
module PPVXAce_General_Configs
 Fog_Filename = 'Fog01'  # Nome della Bitmap
 Fog_Hue = 0			 # Tonalità
 Fog_Opacity = 128	   # opacità
 Fog_Blend_Type = 1	  # Modalità Blending
 Fog_Zoom = 1			# Zoom
 Fog_SpeedX = 4		  # Velocità Orizzontale
 Fog_SpeedY = 4		  # Velocità Verticale
 Fog_Visible = true	  # Visibilità
end
#_______________________________________________________________________________
#	 INIZIO DELLO SCRIPT - Non modificare se non sai cosa stai facendo!
#_______________________________________________________________________________
#===============================================================================
module Cache
 def self.fog(filename)
load_bitmap('Graphics/Fogs/', filename)
 end
end
class Game_Interpreter
 include PPVXAce_General_Configs
 BLEND_NORMAL = 0  # Blend Mode: Normal
 BLEND_ADD = 1	 # Blend Mode: Addition
 BLEND_SUB = 2	 # Blend Mode: Subtraction
 #--------------------------------------------------------------------------
 # Fog Initiaization
 #--------------------------------------------------------------------------
 def setup_fog(filename = Fog_Filename, hue = Fog_Hue, opacity = Fog_Opacity,
			blend_type = Fog_Blend_Type, zoom = Fog_Zoom, sx = Fog_SpeedX,
			sy = Fog_SpeedY, visible = Fog_Visible)
 
filename = Fog_Filename if filename.nil?
hue = Fog_Hue if hue.nil?
opacity = Fog_Opacity if opacity.nil?
blend_type = Fog_Blend_Type if blend_type.nil?
zoom = Fog_Zoom if zoom.nil?
sx = Fog_SpeedX if sx.nil?
sy = Fog_SpeedY if sy.nil?
visible = Fog_Visible if visible.nil?
# Start the fog, use defaults if value is omitted('nil')
$game_map.setup_fog(filename, hue, opacity , blend_type, zoom, sx, sy, visible)
 end
 #--------------------------------------------------------------------------
 # Fog Tone
 #--------------------------------------------------------------------------
 def change_fog_tone(tone, duration = 0)
# Start the changing of the color tone
$game_map.fog.start_tone_change(tone, duration)
return true
 end
 #--------------------------------------------------------------------------
 # Fog Opacity
 #--------------------------------------------------------------------------
 def change_fog_opacity(opacity, duration = 0)
# Start the changing of the opacity level
$game_map.fog.start_opacity_change(opacity, duration)
return true
 end

 #--------------------------------------------------------------------------
 # Hide Fog
 #--------------------------------------------------------------------------
 def hide_fog
# Make the fog invisible
$game_map.fog.visible = false
return true
 end

 #--------------------------------------------------------------------------
 # Show Fog
 #--------------------------------------------------------------------------
 def show_fog
# Make fog visible again
$game_map.fog.visible = true
return true
 end
end
class Game_Fog
 attr_accessor :name
 attr_accessor :hue
 attr_accessor :opacity
 attr_accessor :blend_type
 attr_accessor :zoom
 attr_accessor :sx
 attr_accessor :sy
 attr_accessor :visible
 attr_reader   :ox
 attr_reader   :oy
 attr_reader   :tone
 def initialize
@name = ""
@hue = 0
@opacity = 255.0
@blend_type = 0
@zoom = 100.0
@sx = 0
@sy = 0
@ox = 0
@oy = 0
@visible = true
@tone = Tone.new(0, 0, 0, 0)
@tone_target = Tone.new(0, 0, 0, 0)
@tone_duration = 0
@opacity_duration = 0
@opacity_target = 0
 end
 def setup(name, hue, opacity , blend_type, zoom, sx, sy, visible)
@name = name
@hue = hue
@opacity =  opacity
@blend_type = blend_type
@zoom = zoom
@sx = sx
@sy = sy
@visible = visible
@ox = 0
@oy = 0
@tone = Tone.new(0, 0, 0, 0)
@tone_target = Tone.new(0, 0, 0, 0)
@tone_duration = 0
@opacity_duration = 0
@opacity_target = 0  
 end
 def start_tone_change(tone, duration)
@tone_target = tone.clone
@tone_duration = duration
if @tone_duration == 0
  @tone = @tone_target.clone
end
 end
 def start_opacity_change(opacity, duration)
@opacity_target = opacity * 1.0
@opacity_duration = duration
if @opacity_duration == 0
  @opacity = @opacity_target
end
 end
 def update
@ox -= @sx
@oy -= @sy
if @tone_duration >= 1
  d = @tone_duration
  target = @tone_target
  @tone.set( (@tone.red   * (d - 1) + target.red)  / d,
			 (@tone.green * (d - 1) + target.green)/ d,
			 (@tone.blue  * (d - 1) + target.blue) / d,
			 (@tone.gray  * (d - 1) + target.gray) / d )
  @tone_duration -= 1
end
if @opacity_duration >= 1
  d = @opacity_duration
  @opacity =(@opacity *(d - 1) + @opacity_target) / d
  @opacity_duration -= 1
end
 end
end
class Game_Map
 attr_accessor :fog

 alias solmaker_gamemap_fog_setup setup
 def setup(map_id)
setup_fog_basic
solmaker_gamemap_fog_setup(map_id)  
 end
 alias solmaker_gamemap_fog_update update
 def update(main = false)
update_fog
solmaker_gamemap_fog_update(main)
 end
 def setup_fog(name, hue, opacity, blend_type, zoom, sx, sy, visible)
visible = true if visible != true and visible != false
@fog = Game_Fog.new
@fog.setup(name.to_s, hue.to_i, opacity.to_f, blend_type.to_i,
  zoom.to_f, sx.to_i, sy.to_i, visible) rescue raise(ArgumentError,
  'Error during fog setup!\nPlease check the given values!')
 end
 def setup_fog_basic
@fog = Game_Fog.new
 end
 def update_fog
 end

end
class Spriteset_Map
 alias solmaker_fog_initialize initialize
 def initialize
create_fog
solmaker_fog_initialize
 end
 alias solmaker_fog_update update
 def update
update_fog
solmaker_fog_update
 end
 alias solmaker_fog_dispose dispose
 def dispose
dispose_fog
solmaker_fog_dispose
 end

 def create_fog
@plane_fog = Plane.new(@viewport1)
@plane_fog.z = 100
@temp_name = ""; @temp_hue = 0
 end

 def update_fog
$game_map.fog.update
if @temp_name != $game_map.fog.name or @temp_hue != $game_map.fog.hue
  if @plane_fog.bitmap != nil
	@plane_fog.bitmap.dispose
	@plane_fog.bitmap = nil
  end
  if $game_map.fog.name != ""
	@plane_fog.bitmap = Cache.fog($game_map.fog.name)
	@plane_fog.bitmap.hue_change($game_map.fog.hue)
  end
  Graphics.frame_reset
end
@plane_fog.opacity = $game_map.fog.opacity
@plane_fog.blend_type = $game_map.fog.blend_type
@plane_fog.zoom_x = $game_map.fog.zoom
@plane_fog.zoom_y = $game_map.fog.zoom
@plane_fog.visible = $game_map.fog.visible
@plane_fog.tone = $game_map.fog.tone
 
@plane_fog.ox = ($game_map.display_x + $game_map.fog.ox) / 8.0 unless @plane_fog.nil?
@plane_fog.oy = ($game_map.display_y + $game_map.fog.oy) / 8.0 unless @plane_fog.nil?
@temp_name = $game_map.fog.name;   @temp_hue = $game_map.fog.hue
 end
 def dispose_fog
# Prevents a bug while setting saturation, undoing saturation already processed
@plane_fog.bitmap.hue_change -@temp_hue unless @plane_fog.bitmap.nil?
Graphics.frame_reset
@plane_fog.dispose unless @plane_fog.nil?
@plane_fog = nil
 end

end
#_______________________________________________________________________________
#				  END OF THE SCRIPT - See ya next time!
#_______________________________________________________________________________
#===============================================================================

 

 

 

Bugs e Conflitti Noti

N/D

 

Altri Dettagli

N/D
Edited by clyde
Link to comment
Share on other sites

Tsk questo è banale!

 

XD

 

La cercava un utente, la discussione è recente, ma non linkiamola per ora, se riesce ad eventi è meglio :D

^ ^

(\_/)
(^ ^) <----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

Guest clyde

I know little bunny, I know.

Seguo praticamente tutto il forum (specialmente VX e VX Ace). Se vedi che non rispondo a una discussione, in linea di massima è perché mi trovo di fronte un utente su cui vorrei eseguire il mio temibile PermaBan Kick on Noob Sight. E questo è uno di quei casi.

Link to comment
Share on other sites

Uno script che sicuramente mancava al VX Ace. Lo script è italiano di suo o è stato tradotto da te? Nel secondo caso, devi scriverlo.

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

http://holyres.altervista.org/UserBoard/BannerOverdrive35.png
http://holyres.altervista.org/UserBoard/Cap3.png

http://www.indiexpo.net/signature/578.png

Miei script per RPG Maker VX Ace:


*NB Tutti i miei script sono protetti da licenza CC - BY http://i.creativecommons.org/l/by/3.0/88x31.png

Questa licenza permette a terzi di distribuire, modificare, ottimizzare ed utilizzare la tua opera come base, anche commercialmente, fino a che ti diano il credito per la creazione originale. Questa è la più accomodante delle licenze offerte. É raccomandata per la diffusione e l'uso massimo di materiali coperti da licenza.

 

 



I miei tutorial:


Come distribuire il gioco - e anche come creare un'installazione professionale!
RGSS in pillole - Guida completa e facile all'RGSS2 e RGSS3 per novizi ed esperti
Come mappare con VX (e VX Ace) - guida base all'uso degli strumenti del mapping
Loop delle musiche - come tagliarle in modo da far venire musiche continue senza interruzioni finali
Creare backup dei progetti - per evitare di uccidervi dopo un errore che ha fatto perdere tutto!

Link to comment
Share on other sites

Guest clyde

Rafael non parla litaliano, o dovuto tradure io col mio itagliano perfeto.

Sì, ho tradotto io lo script. Devo scriverlo? E dove scriverlo?

Link to comment
Share on other sites

Aggiungi una riga sotto Creato da... e metti anche Tradotto da...

Sia nel topic che sullo script.

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

http://holyres.altervista.org/UserBoard/BannerOverdrive35.png
http://holyres.altervista.org/UserBoard/Cap3.png

http://www.indiexpo.net/signature/578.png

Miei script per RPG Maker VX Ace:


*NB Tutti i miei script sono protetti da licenza CC - BY http://i.creativecommons.org/l/by/3.0/88x31.png

Questa licenza permette a terzi di distribuire, modificare, ottimizzare ed utilizzare la tua opera come base, anche commercialmente, fino a che ti diano il credito per la creazione originale. Questa è la più accomodante delle licenze offerte. É raccomandata per la diffusione e l'uso massimo di materiali coperti da licenza.

 

 



I miei tutorial:


Come distribuire il gioco - e anche come creare un'installazione professionale!
RGSS in pillole - Guida completa e facile all'RGSS2 e RGSS3 per novizi ed esperti
Come mappare con VX (e VX Ace) - guida base all'uso degli strumenti del mapping
Loop delle musiche - come tagliarle in modo da far venire musiche continue senza interruzioni finali
Creare backup dei progetti - per evitare di uccidervi dopo un errore che ha fatto perdere tutto!

Link to comment
Share on other sites

0_0 clyde mi aspettavo che l'avessi tradotto tu, secondo me, se non vuoi essere creditato dovresti lo stesso mettere il tuo nome in script o in traduzioni varie specificando ovviamente che non vuoi essere creditato. Perlomeno se qualcosa non va sanno con chi prendersela XD.

Per qualsiasi motivo non aprite questo spoiler.

 

 

Ho detto di non aprirlo !

 

 

Se lo apri ancora esplode il mondo.

 

 

Aaaaaa è un vizio.

 

 

Contento? Il mondo è esploso, sono tutti morti

per colpa della tua curiosità .

 

 

Vuoi che ti venga anche il morbillo, la varicella e l'AIDS???

 

 

O bravo ora sei un malato terminale e nessuno

ti puo curare, sono tutti morti !

 

 

Se clicchi ancora una volta il PC esplode.

 

 

E dai smettila !!

 

Uff!! Hai cliccato tante volte che ho dovuto sostituirlo con un codebox.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

http://s8.postimg.org/yntv9nxld/Banner.png

http://img204.imageshack.us/img204/8039/sccontest3octpl3.gif

Link to comment
Share on other sites

Guest clyde

Direi di no.

Fintantoché la mia traduzione è attendibile (e lo è), sono esente da ogni responsabilità.

 

Se c'è un problema nel codice, l'utente deve fare riferimento all'autore.

Se il problema è nel grado di conoscenze dell'utente, allora dovrà fare riferimento a se stesso.

 

L'unica fonte da cui attingere lo script è questo forum. E' sufficiente postare il problema qui nel topic perché io lo legga.

Se qualcuno ottiene questo script per altre vie, cosa potrei farci? Devo allegare anche un numero di telefono reperibile 24/7?

 

E poi resta sempre quella legge non scritta che si deve usare solo quello che si sa usare.

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