Accueil du SiteAccueil du Site  AccueilAccueil  Dernières imagesDernières images  RechercherRechercher  ConnexionConnexion  S'enregistrerS'enregistrer  



Le Deal du moment : -28%
-28% Machine à café avec broyeur ...
Voir le deal
229.99 €

Partagez
 

 [VX Ace] Lune message system

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
RitoJS
Ancien staffeux
Ancien staffeux
RitoJS

Masculin
Messages postés : 1925
Date d'inscription : 22/02/2012
Jauge LPC :
[VX Ace] Lune message system 8915271400100 / 100100 / 100[VX Ace] Lune message system 8915271400

[VX Ace] Lune message system Membre15
[VX Ace] Lune message system Mappeu10
[VX Ace] Lune message system Projet10
[VX Ace] Lune message system Projet16
[VX Ace] Lune message system Riche_10


[VX Ace] Lune message system Empty
MessageSujet: [VX Ace] Lune message system   [VX Ace] Lune message system EmptyMer 26 Sep 2012 - 14:19

Lune Message System


Crédit: Raizen

Ce script permet d'avoir une boite de dialogue "plus légère" et plus pratique:
-La boite de dialogue s'adapte en fonction de la longueur et la largeur de votre message.
-Possibilité d'avoir votre windowskin comme cadre pour les faceset.
-On peut switché entre les dialogues customisé et ceux de base.
-Afficher une flèche pour savoir qui parle (héros ou pnj).

Screenshots:
Spoiler:

Instructions:
Tout d'abord, placez le script le script au-dessus de main.
Pour appeler la nouvelle boite de dialogue, il faut insérer cette ligne de code avant le message:
Code:
Lune_Message.config(p, id)
"p" est le type de dialogue qui se défini par 3 chiffre:
0= En-dessous du personnage.
1= Au-dessus du personnage.
2= La boite de dialogue de base. (qui désactive aussi le script.)

"id" est l'ID de l'event.
0 est l'ID du héros.
Exemple:
Pour avoir ce dialogue:
[VX Ace] Lune message system Dialogue2_imagesia-com_2cl6
Il faut faire comme cela:
[VX Ace] Lune message system Exemple1_imagesia-com_2clo


Vous pouvez aussi utiliser une image qui peut vous servir de flèche( à placer dans le dossier Graphics/System de votre projet) comme ceci:[VX Ace] Lune message system Arrow

Si vous ne voulez pas utiliser de flèche, allez à la ligne 57 et changer le nom de votre image par ceci:
Code:
Imagem = ""

Script:
Code:
module Lune_Message
#=======================================================
#                Lune Message System
# Author: Raizen
# Compatible with: RMVXAce
# The script allows message boxes above and below the
# character, with automatic size making a more interatvice
# message system between characters.



# Instructions

# To use the message just call the show message
# either with a face or not.

# before showing the message configure the character that
# will receive the message box.
# Also configure if it is below or above the character.

# It is also possible to toggle between the new message system
# and the old message system

# To configure the message system just do the following.

# Call Script:Lune_Message.config(p, id)

# Being p the position of the message box.
# 1 = above the character
# 0 = below the character
# 2 = old message system

# To deactivate this script just
# Call Script this way
# Call Script:Lune_Message.config(2, 0)
# Put a 1 frame wait before changing between the message systems,
# to give the system the time to reconfigure all the positions back to
# the old system, or from the old to the new system.

# ID is the event ID, being the ID 0 it is the Hero.
# The windows size is configured automatically, being that you
# will need to choose the length of the font to ajust better to the
# message box. (In pixels)

Espacamento = 11

# Size of the characters that you are using, an estimate to calculate
# the Boxes position.

Tamanho = 48

# Name of the picture file that will put a cursor above the character
# which is talking.
# In case you do not need any picture files put the constant this way.
# Imagem = ""
# The image needs to be in the file Graphics/System inside your project.
Imagem = "arrow"
# ========================================================================
# Here starts the script.
# ========================================================================

def self.config(p, id)
posicao(p)
identificacao(id)
end

def self.posicao(p = nil)
@p = p unless p == nil
return @p
end

def self.identificacao(id = nil)
@id = id unless id == nil
return @id
end
end

#==============================================================================
# ** Janela auxiliar
#==============================================================================
class Lune_Window_Message < Window_Base
include Lune_Message
  def initialize(x, y, window_width, window_height)
        super(x, y, window_width, window_height)
        self.z = 199
        self.openness = 0
        @get_sprite = true
        @sprite_arrow = Sprite.new
        @sprite_arrow.bitmap = Cache.system(Imagem)
        if Lune_Message.identificacao == 0
          @lune_x = $game_player.screen_x
          @lune_y = $game_player.screen_y
          else
          @lune_x = $game_map.events[Lune_Message.identificacao].screen_x
          @lune_y = $game_map.events[Lune_Message.identificacao].screen_y
        end
        @sprite_arrow.x = @lune_x - 8
        @sprite_arrow.y = @lune_y - Lune_Message::Tamanho
  end
  def refresh
  if @get_sprite == true
  @sprite_arrow.y += 4
  @get_sprite = false
  else
  @sprite_arrow.y -= 4
  @get_sprite = true
  end
  end
  def openlune
        self.openness += 40
        self.openness <= 254 ? (return false) : (return true)
  end
  def closelune
        @sprite_arrow.opacity = 0 unless Imagem.nil?
        self.openness -= 40
        self.openness >= 1 ? (return false) : (return true)
  end
  def dispose
  @sprite_arrow.dispose
  super
  end
end


class Game_Message
# Retorna o valor da quantidade de linhas
  def get_lune_lines
        @lune_text_size = 0
        @texts.inject("") {|r, text| @lune_text_size += 1}
        return @lune_text_size
  end
# Retorna o valor do tamanho do texto.
  def get_lune_length
        @lune_length_size = 0
        @texts.inject("") {|r, text| @lune_length_size = text.size if text.size > @lune_length_size}
        return @lune_length_size
  end
end

#==============================================================================
# ** Window_Message
#------------------------------------------------------------------------------
#  Esta janela de mensagem é usada para exibir textos.
#==============================================================================
  #--------------------------------------------------------------------------
  # * Aquisição da largura da janela
  #--------------------------------------------------------------------------
class Window_Message < Window_Base
# aliasing
alias lune_message_update update 
alias lune_process_all_text process_all_text
alias lune_message_dispose dispose
  def initialize
        super(0, 0, Graphics.width, fitting_height(4))
        self.z = 200
        self.openness = 0
        create_all_windows
        create_back_bitmap
        create_back_sprite
        clear_instance_variables

  end
  def window_width
        $game_message.get_lune_length * Lune_Message::Espacamento + 15
  end
  #--------------------------------------------------------------------------
  # * Aquisição da altura da janela
  #--------------------------------------------------------------------------
  def window_height
        fitting_height($game_message.get_lune_lines)
  end
  def update(*args)
        lune_message_update(*args)
        unless Lune_Message.posicao == 2
        @lune_message.refresh if @lune_message and Graphics.frame_count % 25 == 1
        self.opacity = 0
        end
  end
  def fiber_main
        $game_message.visible = true
        update_background
        lune_update_placement if Lune_Message.posicao == 2
        loop do
          if Lune_Message.posicao == 2
          lune_process_all_text if $game_message.has_text?
          else
          process_all_text if $game_message.has_text?
          end
          process_input
          $game_message.clear
          @gold_window.close
          Fiber.yield
          break unless text_continue?
        end
        @lune_message.opacity = 0 unless @lune_message == nil and Lune_Message.posicao == 2
        close_and_wait
        $game_message.visible = false
        @fiber = nil
  end
  def lune_update_placement
        @position = $game_message.position
        self.y = @position * (Graphics.height - height) / 2
        self.x = 0
        @gold_window.y = y > 0 ? 0 : Graphics.height - @gold_window.height
  end
  def update_placement
        @gold_window.y = y > 0 ? 0 : Graphics.height - @gold_window.height
        unless Lune_Message.identificacao.nil?
          self.x = @lune_x - window_width / 2
          self.x -= (self.x + window_width - Graphics.width) if self.x + window_width >= Graphics.width
          self.x -= new_line_x
          self.x = [self.x,0].max     
          self.y = @lune_y
          self.y -= window_height + Lune_Message::Tamanho if Lune_Message.posicao == 1
          self.y = [self.y,0].max
          self.y -= (self.y + window_height - Graphics.height) if self.y + window_height >= Graphics.height
        end
  end
  #--------------------------------------------------------------------------
  # * Execução de todos texto
  #--------------------------------------------------------------------------
  def process_all_text
        if Lune_Message.identificacao == 0
          @lune_x = $game_player.screen_x
          @lune_y = $game_player.screen_y
          else
          @lune_x = $game_map.events[Lune_Message.identificacao].screen_x
          @lune_y = $game_map.events[Lune_Message.identificacao].screen_y
        end
        @lune_message.dispose unless @lune_message.nil?
        w = @lune_x - window_width / 2
        h = @lune_y
        $game_message.face_name.empty? ? (w = [w,0].max) : (w = [w,112].max)
        h -= window_height + Lune_Message::Tamanho if Lune_Message.posicao == 1
        h = [h,0].max
        w -= (w + window_width - Graphics.width) if w + window_width >= Graphics.width
        h -= (h + window_height - Graphics.height) if h + window_height >= Graphics.height
        @lune_message = Lune_Window_Message.new(w, h, window_width, window_height)
        @lune_face = Window_Base.new(w - 104, h + 8, 104, 104) unless $game_message.face_name.empty?
        update_placement
        text = convert_escape_characters($game_message.all_text)
        pos = {}
        new_page(text, pos)
        open_and_wait
        process_character(text.slice!(0, 1), text, pos) until text.empty?
  end
        #--------------------------------------------------------------------------
  # * Abertura da janela e espeta até abertura total
  #--------------------------------------------------------------------------
  def open_and_wait
        unless Lune_Message.posicao == 2
        @lune_message.openlune
        Fiber.yield until @lune_message.openlune
        open
  else
        open
        Fiber.yield until open?
  end
  end
        #--------------------------------------------------------------------------
  # * Fechamento da janela e espeta até fechamento total
  #--------------------------------------------------------------------------
  def close_and_wait
        close
        Fiber.yield until all_close?
        @lune_message.closelune if @lune_message
        Fiber.yield until @lune_message.closelune unless Lune_Message.posicao == 2
  end
        #--------------------------------------------------------------------------
  # * Execução de espera de entrada
  #--------------------------------------------------------------------------
  def input_pause
        self.pause = true if Lune_Message.posicao == 2
        wait(10)
        Fiber.yield until Input.trigger?(:B) || Input.trigger?(:C)
        Input.update
        @lune_face.dispose unless @lune_face.nil?
        self.pause = false
  end
  def dispose
        @lune_message.dispose if @lune_message
        Lune_Message.config(2,0)
        lune_message_dispose
  end
end
Il y a des instruction plus précise que les miennes dans le script.^^

Voilà.

Points ajoutés !
Revenir en haut Aller en bas
http://lunarito.wordpress.com/ https://twitter.com/RitoJS http://ritojs.deviantart.com/
shin
Chevalier Dragon (niveau 1)
Chevalier Dragon (niveau 1)
shin

Masculin
Messages postés : 726
Date d'inscription : 18/10/2011
Jauge LPC :
[VX Ace] Lune message system 891527140043 / 10043 / 100[VX Ace] Lune message system 8915271400

[VX Ace] Lune message system Membre10
[VX Ace] Lune message system Altrui10
[VX Ace] Lune message system Script10
[VX Ace] Lune message system Collec10
[VX Ace] Lune message system Collec11
[VX Ace] Lune message system Collec12
[VX Ace] Lune message system Collec13
[VX Ace] Lune message system Zibrop11


[VX Ace] Lune message system Empty
MessageSujet: Re: [VX Ace] Lune message system   [VX Ace] Lune message system EmptyMer 26 Sep 2012 - 18:14

bien pratique et plutôt classe merci pOuce´
Revenir en haut Aller en bas
Number6406
Paladin (niveau 2)
Paladin (niveau 2)
Number6406

Messages postés : 578
Date d'inscription : 23/07/2012
Jauge LPC :
[VX Ace] Lune message system 89152714008 / 1008 / 100[VX Ace] Lune message system 8915271400

[VX Ace] Lune message system Membre10
[VX Ace] Lune message system Graphi10
[VX Ace] Lune message system Action10


[VX Ace] Lune message system Empty
MessageSujet: Re: [VX Ace] Lune message system   [VX Ace] Lune message system EmptyMer 26 Sep 2012 - 20:45

Merci pour ce beau script Smile
Revenir en haut Aller en bas
Invité
Invité
Anonymous


[VX Ace] Lune message system Empty
MessageSujet: Re: [VX Ace] Lune message system   [VX Ace] Lune message system EmptyVen 11 Oct 2013 - 8:01

Bonjour, j'ai un petit soucis avec le script.
Quand je veux parler à un PNJ avec se script d'installé voilas se que le programme me met.
[VX Ace] Lune message system Sans_t10

Petite question au passage, comme le topic n'est plus tout jeune dois-je normalement refaire un sujet ou encore poser ma question autre part.

Merci d'avance
Revenir en haut Aller en bas
Ti-Max
Membre V.I.P.
Membre V.I.P.
Ti-Max

Masculin
Messages postés : 2260
Date d'inscription : 11/07/2012
Jauge LPC :
[VX Ace] Lune message system 891527140080 / 10080 / 100[VX Ace] Lune message system 8915271400

[VX Ace] Lune message system Membre10
[VX Ace] Lune message system Membre15
[VX Ace] Lune message system Padago10
[VX Ace] Lune message system Altrui10
[VX Ace] Lune message system Event-10
[VX Ace] Lune message system Partag10
[VX Ace] Lune message system Promot10
[VX Ace] Lune message system Riche_10
[VX Ace] Lune message system Collec10
[VX Ace] Lune message system Collec11
[VX Ace] Lune message system Collec12
[VX Ace] Lune message system Mister10
[VX Ace] Lune message system Projet15
[VX Ace] Lune message system Projet10


[VX Ace] Lune message system Empty
MessageSujet: Re: [VX Ace] Lune message system   [VX Ace] Lune message system EmptyVen 11 Oct 2013 - 11:39

As-tu essayer d'afficher un texte à ce moment là ? Si oui, pourrais-tu le poster ?
Revenir en haut Aller en bas
Invité
Invité
Anonymous


[VX Ace] Lune message system Empty
MessageSujet: Re: [VX Ace] Lune message system   [VX Ace] Lune message system EmptyVen 11 Oct 2013 - 16:25

Embarassed Embarassed Embarassed 
Et bien je suis confus.
J'ai voulu refaire la même chose et cela a fonctionné....
Je fonctionne sur 2 ordinateurs et tantôt j'ai rajouté le script sur un projet contenant plusieurs Script.
Peut être qu'il n'est pas compatible avec d'autre.
Désolé du dérangement.
Si je trouve une incompatibilité avec un autre script je le ferai savoir.


Si quelqu'un connais un autre script qui permet d'afficher le nom des pnj comme celui là et qui est compatible avec le Lunar je suis preneur Very Happy 
Revenir en haut Aller en bas
Clémengrenage
Chevalier (niveau 4)
Chevalier (niveau 4)
Clémengrenage

Masculin
Messages postés : 122
Date d'inscription : 06/08/2013
Jauge LPC :
[VX Ace] Lune message system 891527140025 / 10025 / 100[VX Ace] Lune message system 8915271400


[VX Ace] Lune message system Empty
MessageSujet: Re: [VX Ace] Lune message system   [VX Ace] Lune message system EmptyVen 11 Oct 2013 - 18:18

massymiguel : Désolé, je n'en connais aucun.

Le script à l'air génial !
Merci !
Revenir en haut Aller en bas
https://www.facebook.com/Clément Dubet
City Hunter
Administrateur
Administrateur
City Hunter

Masculin
Messages postés : 6524
Date d'inscription : 25/05/2011
Jauge LPC :
[VX Ace] Lune message system 891527140040 / 10040 / 100[VX Ace] Lune message system 8915271400

[VX Ace] Lune message system Staffe10
[VX Ace] Lune message system Mappeu10
[VX Ace] Lune message system Membre15
[VX Ace] Lune message system Testeu10
[VX Ace] Lune message system Promot10
[VX Ace] Lune message system Projet10
[VX Ace] Lune message system Projet16
[VX Ace] Lune message system Riche_10
[VX Ace] Lune message system Travai10
[VX Ace] Lune message system Collec10
[VX Ace] Lune message system Collec11
[VX Ace] Lune message system Collec12
[VX Ace] Lune message system Collec13
[VX Ace] Lune message system Pandac10
[VX Ace] Lune message system 10000011


[VX Ace] Lune message system Empty
MessageSujet: Re: [VX Ace] Lune message system   [VX Ace] Lune message system EmptyVen 11 Oct 2013 - 21:11

As tu regardé dans notre banque de script ?
Peut être en avons nous un =o
Revenir en haut Aller en bas
Ti-Max
Membre V.I.P.
Membre V.I.P.
Ti-Max

Masculin
Messages postés : 2260
Date d'inscription : 11/07/2012
Jauge LPC :
[VX Ace] Lune message system 891527140080 / 10080 / 100[VX Ace] Lune message system 8915271400

[VX Ace] Lune message system Membre10
[VX Ace] Lune message system Membre15
[VX Ace] Lune message system Padago10
[VX Ace] Lune message system Altrui10
[VX Ace] Lune message system Event-10
[VX Ace] Lune message system Partag10
[VX Ace] Lune message system Promot10
[VX Ace] Lune message system Riche_10
[VX Ace] Lune message system Collec10
[VX Ace] Lune message system Collec11
[VX Ace] Lune message system Collec12
[VX Ace] Lune message system Mister10
[VX Ace] Lune message system Projet15
[VX Ace] Lune message system Projet10


[VX Ace] Lune message system Empty
MessageSujet: Re: [VX Ace] Lune message system   [VX Ace] Lune message system EmptyVen 11 Oct 2013 - 21:41

Il y en a d'autre oui, mais compatible avec Lunar, je ne sais pas par contre.
Revenir en haut Aller en bas
Heaven
Chevalier Dragon (niveau 1)
Chevalier Dragon (niveau 1)
Heaven

Masculin
Messages postés : 755
Date d'inscription : 01/04/2013
Jauge LPC :
[VX Ace] Lune message system 891527140055 / 10055 / 100[VX Ace] Lune message system 8915271400

[VX Ace] Lune message system Membre10
[VX Ace] Lune message system Partag10
[VX Ace] Lune message system 140126073300967155
[VX Ace] Lune message system Collec10
[VX Ace] Lune message system Collec11


[VX Ace] Lune message system Empty
MessageSujet: Re: [VX Ace] Lune message system   [VX Ace] Lune message system EmptySam 12 Oct 2013 - 0:28

Qui affiche le nom des personnages en dessous des boites de dialogues ou au dessus d'un PNJ ou autre ?
Si c'est au dessus d'un PNJ ou autre, tu as le script "PNJ Name" qui est extra =D
Au contraire, si c'est pour afficher le nom en dessous d'un dialogue, tu as celui de Yanfly (il me semble)

Heav'n
Revenir en haut Aller en bas
Invité
Invité
Anonymous


[VX Ace] Lune message system Empty
MessageSujet: Re: [VX Ace] Lune message system   [VX Ace] Lune message system EmptySam 12 Oct 2013 - 22:32

Heaven:
C'est pour afficher au-dessus des boites de dialogues et justement j'utilisais le script de Yanfly.

Snif je vais devoir choisir entre les deux.
Revenir en haut Aller en bas
Contenu sponsorisé




[VX Ace] Lune message system Empty
MessageSujet: Re: [VX Ace] Lune message system   [VX Ace] Lune message system Empty

Revenir en haut Aller en bas
 
[VX Ace] Lune message system
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» // Yanfly Engine Message Core System
» Code Scipio la quete du cristal de lune
» System de MouseOver-1.3.
» Party system
» craft system

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Le Palais Créatif :: ~ PARTAGE ~ :: Scripts et plugins :: RPG Maker VXAce :: Système-
Sauter vers: