- kse33Membre
- Nombre de messages : 19
Distinction : aucune
Date d'inscription : 09/07/2009
[resolu]messsage et fog
Mar 14 Juil 2009 - 15:00
salut bon voila j'aimerais savoir comment on fait pour controler un message (vitesse,pause)et comment mettre
un fog je croisque c'est avec la commande picture c'est ça..?
un fog je croisque c'est avec la commande picture c'est ça..?
- CalionMembre
- Nombre de messages : 235
Distinction : aucune
Date d'inscription : 07/12/2008
Re: [resolu]messsage et fog
Mar 14 Juil 2009 - 16:40
Bonjour à toi kse33,
Voici pour les pauses :
-Pour marquer une pause d'1/4 de seconde : "\."
-Pour marquer une pause d'1 seconde : "\|"
-Pour attendre que le joueur appuie sur entrée pour la suite du message : "\!"
-Pour quitter directement la boîte de message sans attendre : "\^"
Mais je ne crois pas qu'on puisse régler la vitesse...
Et pour le brouillard, il te faut le script que voici :
Ensuite pour ajouter un brouillard, il y a 2 solutions :
- définir le brouillard par un script.
- définir un ou plusieurs brouillards via une préconfiguration.
La préconfiguration est à faire dans le script principal fourni plus haut, à partir de la ligne 134.
Et voilà.
N'oublie pas la commande Effacer évènement. Sans quoi il y aurait risque de bug. ( le brouillard n'arréterais pas d'apparaître. )
Et voilà les brouillards : http://www.megaupload.com/?d=NHOG9KAY
Voici pour les pauses :
-Pour marquer une pause d'1/4 de seconde : "\."
-Pour marquer une pause d'1 seconde : "\|"
-Pour attendre que le joueur appuie sur entrée pour la suite du message : "\!"
-Pour quitter directement la boîte de message sans attendre : "\^"
Mais je ne crois pas qu'on puisse régler la vitesse...
Et pour le brouillard, il te faut le script que voici :
- Spoiler:
#===============================================================
# ● [VX] ◦ Multiple Fogs ◦ □
# * Nombre de Couches de brouillard illimité*
#--------------------------------------------------------------
# ◦ par Woratana [woratana@hotmail.com]
# ◦ Thaiware RPG Maker Community
# ◦ Sorti le: 13/05/2008
# ◦ Version: 1.0
#--------------------------------------------------------------
#==================================================================
# ** Utilisation **
# * Utilisez la commande 'Appeler un script' dans un Evenement pour les lignes qui suivent~
#-----------------------------------------------------------------
#
#---------------------------------------------------------------
# ** DEFINIR LES PROPRIETES ET L'AFFICHAGE DU BROUILLARD **
# * Vous devez définir les propriétés du brouillard, avant de l'afficher ~
#-------------------------------------------------------------
# * Vous avez 3 possiblités pour définir les propriétés du brouillard:
# >> Définir le brouillard [Custom]:
# $fog.name = 'image_name' # nom du fichier image, doit etre dans le dossier défini dans ce script (voir plus bas).
# $fog.hue = (entier) # Teinte du brouillard. 0 - 360, 0 innactif.
# $fog.tone = [rouge, vers, bleu, gris] # teinte du brouillard.
# $fog.opacity = (entier) # opacité du brouillard. 0 - 255, brouillard invisible à 0.
# $fog.blend = (0, 1, ou 2) # type de fondu du brouillard. 0. Normal, 1 ajouter, 2 soustraire.
# $fog.zoom = (entier) # dimension du brouillard (en %). 100 pour sa taille normale.
# $fog.sx = (+ ou - entier) # vitesse et direction du brouillard sur l'axe X.
# $fog.sy = (+ ou - entier) # vitesse et direction du brouillard sur l'axe Y.
#
# >> Définir le brouillard [avec des PréConfigurations]:
# (Vous pouvez utiliser des brouillards préconfigurés, voir plus bas)
# $fog.load_preset(preset_id)
#
# >> Définir le brouillard [depuis un autre brouillard visible]:
# $fog.load_fog(fog_id) # ID du brouillard à copier
#
#--------------------------------------------------------------
# ** AFFICHER LE BROUILLARD **
#-------------------------------------------------------------
# Apres avoir défini le brouillard, il faut l'afficher en appelant le script:
# $fog.show(fog_id)
#
# Dans le cas ou vous voudriez afficher un nouveau brouillard en remplacement d'un en cours d'utilisation, Appellez ce script:
# $fog.show(old_fog_id, false)
#
# * fog_id: Numero identifiant lme brouillard.
# (Uniquement des chiffres positifs ou 0)
#
# Apres avoir affiché le brouillard, les propriétés que vous avez défini seront remplacées par celles par defaut.
# (Vous pouvez définir les propriétés par defautdans la partie Brouillard CONFIGURATION PAR DEFAUT plus bas)
#
#--------------------------------------------------------------
# ** EFFACER UN BROUILLARD **
#-------------------------------------------------------------
# Vous pouvez éffacer 1 ou plusieurs brouillards en une fois en appelant un script.
# $fog.delete(fog_id, fog_id, fog_id, ...)
#
#---------------------------------------------------------------
# ** EVENEMENTS DE CONTROLE DU BROUILLARD **
#-------------------------------------------------------------
# Changer la teinte:
# $game_map.fogtone(fog_id, [rouge, vert, bleu, gris], durée)
# ex. $game_map.fogtone(1, [100,200,-100,0], 10)
# Changer l'Opacité:
# $game_map.fogopac(fog_id, new_opacity, durée)
# ex. $game_map.fogopac(2, 200, 10)
#
#---------------------------------------------------------------
# ** CONTROLES SUPPLEMENTAIRES **
#-------------------------------------------------------------
# Changer le dossier des images par defaut:
# $game_map.fog_path = 'image_path'
# ex. $game_map.fog_path = 'Graphics/Pictures/'
# Fonction ON/OFF [Supprime automatiquement tous les brouillards lorsque le joueur est transféré]:
# $game_map.fog_reset = (true / false)
#
#===============================================================
#==================================================================
# START ** MULTIPLE FOG SETUP **
#==================================================================
class Game_Map
alias wora_mulfog_gammap_ini initialize
def initialize
wora_mulfog_gammap_ini
#==================================================================
# ** MULTIPLE FOG SETUP ** Propriétés
#--------------------------------------------------------------
@fog_path = 'Graphics/Pictures/'
# Dossier par defaut contenant les images des brouillards
@fog_reset = true # (true or false)
# Supprime les brouillards lors du tranfert du joueur
#==================================================================
@mulfog_name = []
@mulfog_hue = []
@mulfog_opacity = []
@mulfog_blend_type = []
@mulfog_zoom = []
@mulfog_sx = []
@mulfog_sy = []
@mulfog_ox = []
@mulfog_oy = []
@mulfog_tone = []
@mulfog_tone_target = []
@mulfog_tone_duration = []
@mulfog_opacity_duration = []
@mulfog_opacity_target = []
end
end
class Wora_Multiple_Fog
def set_default
#==================================================================
# ** MULTIPLE FOG SETUP ** PROPRIETES PAR DEFAUT
#--------------------------------------------------------------
@name = ''
@hue = 0
@opacity = 64
@blend = 0
@zoom = 200
@sx = 0
@sy = 0
@tone = [0,0,0,0]
#==================================================================
end
def load_preset(preset_id)
case preset_id
#==================================================================
# ** MULTIPLE FOG SETUP ** PROPRIETE DES BROUILLARDS PRE-DEFINIS
#--------------------------------------------------------------
when 1 # Preset ID 1
@name = '001-Fog01'
@hue = 0
@tone = [0,0,0,0]
@opacity = 60
@blend = 1
@zoom = 100
@sx = -2
@sy = 0
when 2 # Preset ID 2
@name = '001-Fog02'
@hue = 0
@tone = [0,0,0,0]
@opacity = 60
@blend = 1
@zoom = 100
@sx = -2
@sy = -2
when 3 # Preset ID 2
@name = '001-Cloud01'
@hue = 0
@tone = [0,0,0,0]
@opacity = 250
@blend = 0
@zoom = 100
@sx = -5
@sy = -3
#==================================================================
end
end
#==================================================================
# END ** MULTIPLE FOG SETUP **
# * Ne rien changer de ce qui suit à moins que vous ne sachiez ce que vous faites.
#==================================================================
attr_accessor :name, :hue, :opacity, :blend, :zoom, :sx, :sy, :tone
def initialize
set_default
end
def load_fog(id)
@name = $game_map.mulfog_name[id].sub($game_map.fog_path, '')
@hue = $game_map.mulfog_hue[id]
@opacity = $game_map.mulfog_opacity[id]
@blend = $game_map.mulfog_blend_type[id]
@zoom = $game_map.mulfog_zoom[id]
@sx = $game_map.mulfog_sx[id]
@sy = $game_map.mulfog_sy[id]
tn = $game_map.mulfog_tone[id]
@tone = [tn.red, tn.blue, tn.green, tn.gray]
end
def show(id, reset_all = true)
$game_map.mulfog_name[id] = $game_map.fog_path + @name
$game_map.mulfog_hue[id] = @hue
$game_map.mulfog_opacity[id] = @opacity
$game_map.mulfog_blend_type[id] = @blend
$game_map.mulfog_zoom[id] = @zoom
$game_map.mulfog_sx[id] = @sx
$game_map.mulfog_sy[id] = @sy
$game_map.mulfog_tone[id] = Tone.new(@tone[0], @tone[1], @tone[2], @tone[3])
if $game_map.mulfog_ox[id].nil? or reset_all
$game_map.mulfog_ox[id] = 0
$game_map.mulfog_oy[id] = 0
$game_map.mulfog_tone_target[id] = Tone.new(0, 0, 0, 0)
$game_map.mulfog_tone_duration[id] = 0
$game_map.mulfog_opacity_duration[id] = 0
$game_map.mulfog_opacity_target[id] = 0
end
set_default
end
def delete(*args)
args.each do |id|
$game_map.mulfog_name[id] = ''
end
end
end
class Game_Interpreter
alias wora_mulfog_interpret_com201 command_201
#--------------------------------------------------------------------------
# * Transfer Player
#--------------------------------------------------------------------------
def command_201
if $game_map.fog_reset
if @params[0] == 0; id_map = @params[1]
else; id_map = $game_variables[@params[1]]
end
$game_map.clear_mulfog if id_map != @map_id
end
wora_mulfog_interpret_com201
end
end
class Game_Map
attr_accessor :mulfog_name, :mulfog_hue, :mulfog_opacity, :mulfog_blend_type,
:mulfog_zoom, :mulfog_sx, :mulfog_sy, :mulfog_ox, :mulfog_oy, :mulfog_tone,
:mulfog_tone_target, :mulfog_tone_duration, :mulfog_opacity_duration,
:mulfog_opacity_target, :fog_reset, :fog_path
alias wora_mulfog_gammap_upd update
def update
wora_mulfog_gammap_upd
@mulfog_name.each_index do |i|
next if @mulfog_name[i].nil? or @mulfog_name[i] == ''
# Manage fog scrolling
@mulfog_ox[i] -= @mulfog_sx[i] / 8.0
@mulfog_oy[i] -= @mulfog_sy[i] / 8.0
# Manage change in fog color tone
if @mulfog_tone_duration[i] >= 1
d = @mulfog_tone_duration[i]
target = @mulfog_tone_target[i]
@mulfog_tone[i].red = (@mulfog_tone[i].red * (d - 1) + target.red) / d
@mulfog_tone[i].green = (@mulfog_tone[i].green * (d - 1) + target.green) / d
@mulfog_tone[i].blue = (@mulfog_tone[i].blue * (d - 1) + target.blue) / d
@mulfog_tone[i].gray = (@mulfog_tone[i].gray * (d - 1) + target.gray) / d
@mulfog_tone_duration[i] -= 1
end
# Manage change in fog opacity level
if @mulfog_opacity_duration[i] >= 1
d = @mulfog_opacity_duration[i]
@mulfog_opacity[i] = (@mulfog_opacity[i] * (d - 1) + @mulfog_opacity_target[i]) / d
@mulfog_opacity_duration[i] -= 1
end
end
end
#--------------------------------------------------------------------------
# * Start Changing Fog Color Tone
#--------------------------------------------------------------------------
def fogtone(i, tone, duration)
duration = duration * 2
tone = Tone.new(tone[0], tone[1], tone[2], tone[3])
@mulfog_tone_target[i] = tone.clone
@mulfog_tone_duration[i] = duration
if @mulfog_tone_duration[i] == 0
@mulfog_tone[i] = @mulfog_tone_target[i].clone
end
end
#--------------------------------------------------------------------------
# * Start Changing Fog Opacity Level
#--------------------------------------------------------------------------
def fogopac(i, opacity, duration)
duration = duration * 2
@mulfog_opacity_target[i] = opacity * 1.0
@mulfog_opacity_duration[i] = duration
if @mulfog_opacity_duration[i] == 0
@mulfog_opacity[i] = @mulfog_opacity_target[i]
end
end
def clear_mulfog
@mulfog_name.each_index {|i| @mulfog_name[i] = '' }
end
end
$worale = {} if !$worale
$worale['MutipleFog'] = true
$fog = Wora_Multiple_Fog.new
class Spriteset_Map
alias wora_mulfog_sprmap_crepal create_parallax
alias wora_mulfog_sprmap_updpal update_parallax
alias wora_mulfog_sprmap_dispal dispose_parallax
def create_parallax
@mulfog = []
@mulfog_name = []
@mulfog_hue = []
wora_mulfog_sprmap_crepal
end
def update_parallax
wora_mulfog_sprmap_updpal
$game_map.mulfog_name.each_index do |i|
next if $game_map.mulfog_name[i].nil?
# If fog is different than current fog
if @mulfog_name[i] != $game_map.mulfog_name[i] or @mulfog_hue[i] != $game_map.mulfog_hue[i]
@mulfog_name[i] = $game_map.mulfog_name[i]
@mulfog_hue[i] = $game_map.mulfog_hue[i]
if @mulfog[i].nil?
@mulfog[i] = Plane.new(@viewport1)
@mulfog[i].z = 3000
end
if @mulfog[i].bitmap != nil
@mulfog[i].bitmap.dispose
@mulfog[i].bitmap = nil
end
if @mulfog_name[i] != ''
@mulfog[i].bitmap = Cache.load_bitmap('', @mulfog_name[i], @mulfog_hue[i])
end
Graphics.frame_reset
end
next if @mulfog[i].bitmap.nil?
# Update fog plane
@mulfog[i].zoom_x = ($game_map.mulfog_zoom[i] / 100.0) if @mulfog[i].zoom_x != ($game_map.mulfog_zoom[i] / 100.0)
@mulfog[i].zoom_y = ($game_map.mulfog_zoom[i] / 100.0) if @mulfog[i].zoom_y != ($game_map.mulfog_zoom[i] / 100.0)
@mulfog[i].opacity = $game_map.mulfog_opacity[i] if @mulfog[i].opacity != $game_map.mulfog_opacity[i]
@mulfog[i].blend_type = $game_map.mulfog_blend_type[i] if @mulfog[i].blend_type != $game_map.mulfog_blend_type[i]
@mulfog[i].ox = ($game_map.display_x / 8.0 + $game_map.mulfog_ox[i]) if @mulfog[i].ox != ($game_map.display_x / 8.0 + $game_map.mulfog_ox[i])
@mulfog[i].oy = ($game_map.display_y / 8.0 + $game_map.mulfog_oy[i]) if @mulfog[i].oy != ($game_map.display_y / 8.0 + $game_map.mulfog_oy[i])
@mulfog[i].tone = $game_map.mulfog_tone[i] if @mulfog[i].tone != $game_map.mulfog_tone[i]
end
end
def dispose_parallax
@mulfog.each_index do |i|
next if @mulfog[i].nil?
@mulfog[i].bitmap.dispose if !@mulfog[i].bitmap.nil?
@mulfog[i].dispose
end
wora_mulfog_sprmap_dispal
end
end
#==================================================================
# [END] VX Multiple Fog by Woratana [woratana@hotmail.com]
#==================================================================
Ensuite pour ajouter un brouillard, il y a 2 solutions :
- définir le brouillard par un script.
- définir un ou plusieurs brouillards via une préconfiguration.
La préconfiguration est à faire dans le script principal fourni plus haut, à partir de la ligne 134.
Et voilà.
N'oublie pas la commande Effacer évènement. Sans quoi il y aurait risque de bug. ( le brouillard n'arréterais pas d'apparaître. )
Et voilà les brouillards : http://www.megaupload.com/?d=NHOG9KAY
- kse33Membre
- Nombre de messages : 19
Distinction : aucune
Date d'inscription : 09/07/2009
Re: [resolu]messsage et fog
Mar 14 Juil 2009 - 16:57
Mec tu est genre superman tu me sauve la vie!
- CalionMembre
- Nombre de messages : 235
Distinction : aucune
Date d'inscription : 07/12/2008
Re: [resolu]messsage et fog
Mar 14 Juil 2009 - 17:09
C'était rien.
Merci pour le compliment, mais je préfère Batman.
Bonne continuation à toi. ( et n'oublies pas de mettre [Résolu] au titre de ton topic. ^^ )
Merci pour le compliment, mais je préfère Batman.
Bonne continuation à toi. ( et n'oublies pas de mettre [Résolu] au titre de ton topic. ^^ )
- kse33Membre
- Nombre de messages : 19
Distinction : aucune
Date d'inscription : 09/07/2009
Re: [resolu]messsage et fog
Mar 14 Juil 2009 - 18:23
tu va mourir de rire si je te dis que je ne sais pas comment ajouter resolu dans le titre
- CalionMembre
- Nombre de messages : 235
Distinction : aucune
Date d'inscription : 07/12/2008
Re: [resolu]messsage et fog
Mar 14 Juil 2009 - 18:28
Non pas du tout, je ne savais pas non plus avant qu'on me le dise.
Il faut bien apprendre un jour ou l'autre non ?
Il faut que tu édites ton premier post, tu pourras alors éditer ton titre. C'est aussi simple que ça. ^^
Il faut bien apprendre un jour ou l'autre non ?
Il faut que tu édites ton premier post, tu pourras alors éditer ton titre. C'est aussi simple que ça. ^^
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|