RM-Land : le forum
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.



Bienvenue sur RM-Land : Le forum !
Après votre inscription, vous aurez accès à tout le forum : Partage de ressources, de scripts, résolution de vos problèmes, présentations de projets et montage de teams.
 
AccueilLe sitePortailDernières imagesRechercherS'enregistrerConnexion
Le deal à ne pas rater :
Google Pixel 7 5G – Smartphone 6,3″ OLED FHD+ 8 Go + 128 Go
316 €
Voir le deal

 

 Effets dans les messages

Aller en bas 
AuteurMessage
Invité
Invité




Effets dans les messages Empty
MessageSujet: Effets dans les messages   Effets dans les messages Icon_minitimeSam 26 Jan - 16:45

Voici un script qui permet de mettre des effets dans les messages.

Voici un screen:

Effets dans les messages Ate10

Ouvrez l'éditeur de scripts (F11) et créez un nouveau script au dessus de "Main" et nommez le "Advanced Text Effects Script" et collez le code ci-dessous.

Utilisation : Mettez avant le mot les signes suivants (les chiffres correspondants aux chiffres sur l'image ci-dessus)

@Oui

#Oui

$Oui

%Oui

Code :

Code:

=begin
 
  Advanced Text Effects(ATE) V1.0 by Samo, the thief.
 
  This script will evitate you doing your methods of special drawing text manually.
  You will be able to do an outline, a shadow, and something else, by only putting
  when you draw the text:
  (x,y,width,height,str,align,method)
Name        Description        Type
  x        x coordinate        Integer
  y        y coordinate        Integer
  width    width              Integer
  height    height              Integer
  str      string              Integer
  align    alignment:          Integer
            Like in Micro Word 
            0 Left, 1 Medium, 
            2 Right.           
  method    The Method That    String
            will indicate
            what we want.
            Look Down for a List.
  In a Normal window, a draw_text with outline should be like this:
 
  self.contents.draw_text(60,45,120,32,"Thanks Outline Script! Now i look Better!", 1, 'outline')
 
  List of Methods:
 
  'outline'
  'Shadow Wide'
  'Shadow Small'
  'Selected Item'
  'Light Bisel'
  'Small Bisel'
  'Medium Bisel'
 
 
  This also comes with a message system(if you don't like it, just erase the part
  of Window_Mesagge)
 
  The message System Works in this Way. There are especial Characters that will
  define the type of effect to apply. Just put them, they will appear invisible:
 
  ~      No method is used in the message. It makes special characters appear.
  @      Outline
  #      Small Shadow
  $      Big Shadow
  %      Selected Item
  ^      Light Bisel
  &      Small Bisel
  *      Medium Bisel
  `      Text is Drawn Normally, text effects can appear in the message.
=end


class Bitmap
#-----------------------------------------------------------------------
  alias samo_outline_bitmap_draw_text draw_text  #Alias of original Draw_text
#------------------------------------------------------------------------ 
  def draw_text(x, y, width, height, str, align = 0, method = 'normal')
    if method == 'outline'
      r = font.color.red    #Takes the original color of the window by numbers
      g = font.color.green
      b = font.color.blue
      a = font.color.alpha
      font.color= Color.new(0,0,0) #Color Black
      draw_text(x - 1, y, width, height, str, align)
      draw_text(x + 1, y, width, height, str, align)
      draw_text(x , y+1, width, height, str, align)
      draw_text(x , y-1, width, height, str, align)
      font.color = Color.new(r,g,b,a) #Returns teh color no to normal
    samo_outline_bitmap_draw_text(x, y, width, height, str, align) #draw the text without outline
    end
    if method == 'Shadow Wide'
      r = font.color.red    #Takes the original color of the window by numbers
      g = font.color.green
      b = font.color.blue
      a = font.color.alpha
      font.color =  Color.new(0,0,0,75)
      draw_text(x +12, y + 4, width, height, str, align)
      font.color = Color.new(r,g,b,a) #Returns teh color no to normal
    samo_outline_bitmap_draw_text(x, y, width, height, str, align) #draw the text without outline
    end
    if method == 'Shadow Small'
      r = font.color.red    #Takes the original color of the window by numbers
      g = font.color.green
      b = font.color.blue
      a = font.color.alpha
      font.color =  Color.new(0,0,0,175)
      draw_text(x +3, y + 3, width, height, str, align)
      font.color = Color.new(r,g,b,a) #Returns teh color no to normal
    samo_outline_bitmap_draw_text(x, y, width, height, str, align) #draw the text without outline
    end
    if method == 'Selected Item'
      r = font.color.red    #Takes the original color of the window by numbers
      g = font.color.green
      b = font.color.blue
      a = font.color.alpha
      font.color= Color.new(120,255,120,225)
      draw_text(x - 1, y, width, height, str, align)
      draw_text(x + 1, y, width, height, str, align)
      draw_text(x , y+1, width, height, str, align)
      draw_text(x , y-1, width, height, str, align)
      font.color = Color.new(r,g,b,a) #Returns teh color no to normal
    samo_outline_bitmap_draw_text(x, y, width, height, str, align) #draw the text without outline     
  end
    if method == 'Light Bisel'
      r = font.color.red    #Takes the original color of the window by numbers
      g = font.color.green
      b = font.color.blue
      a = font.color.alpha
      font.color= Color.new(0,0,0,255)
      draw_text(x + 1, y, width, height, str, align)
      draw_text(x , y+1, width, height, str, align)
      font.color = Color.new(r,g,b,a) #Returns teh color no to normal
    samo_outline_bitmap_draw_text(x, y, width, height, str, align) #draw the text without outline     
  end
    if method == 'Small Bisel'
      r = font.color.red    #Takes the original color of the window by numbers
      g = font.color.green
      b = font.color.blue
      a = font.color.alpha
      font.color= Color.new(0,0,0,255)
      draw_text(x + 1, y, width, height, str, align)
      draw_text(x , y+1, width, height, str, align)
      font.color= Color.new(125,125,125,255)
      draw_text(x - 1, y, width, height, str, align)
      draw_text(x , y-1, width, height, str, align)
      font.color = Color.new(r,g,b,a) #Returns teh color no to normal
      samo_outline_bitmap_draw_text(x, y, width, height, str, align) #draw the text without outline     
    end
    if method == 'Medium Bisel'
      r = font.color.red    #Takes the original color of the window by numbers
      g = font.color.green
      b = font.color.blue
      a = font.color.alpha
      font.color= Color.new(0,0,0,255)
      draw_text(x + 2, y, width, height, str, align)
      draw_text(x , y+2, width, height, str, align)
      draw_text(x + 2, y+2, width, height, str, align)
      font.color= Color.new(125,125,125,255)
      draw_text(x - 2, y, width, height, str, align)
      draw_text(x , y-2, width, height, str, align)
      draw_text(x - 2, y-2, width, height, str, align)
      font.color = Color.new(r,g,b,a) #Returns teh color no to normal
      samo_outline_bitmap_draw_text(x, y, width, height, str, align) #draw the text without outline     
    end
    if method == 'normal'
    samo_outline_bitmap_draw_text(x, y, width, height, str, align) #draw the text without outline
    end
  end
#-----------------------------------------------------------------------
#-----------------------------------------------------------------------
end


class Sprite_Timer < Sprite
  #--------------------------------------------------------------------------
  def update
    super
    self.visible = $game_system.timer_working
    if $game_system.timer / Graphics.frame_rate != @total_sec
      self.bitmap.clear
      @total_sec = $game_system.timer / Graphics.frame_rate
      min = @total_sec / 60
      sec = @total_sec % 60
      text = sprintf("%02d:%02d", min, sec)
      self.bitmap.font.color.set(255, 255, 255)
      self.bitmap.draw_text(0,0,88,48, text, 1, true)
    end
  end
end

#==============================================================================
# ■ Window_Command
#------------------------------------------------------------------------------

class Window_Command < Window_Selectable
  #--------------------------------------------------------------------------
  #--------------------------------------------------------------------------
  def draw_item(index, color)
    self.contents.font.color = color
    rect = Rect.new(4, 32 * index, self.contents.width - 8, 32)
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
    self.contents.draw_text(rect.x,rect.y,rect.width,rect.height, @commands[index])
  end
end


#==============================================================================
# ■ Window_PartyCommand
#------------------------------------------------------------------------------

class Window_PartyCommand < Window_Selectable
  #--------------------------------------------------------------------------
  def draw_item(index, color)
    self.contents.font.color = color
    rect = Rect.new(160 + index * 160 + 4, 0, 128 - 10, 32)
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
    self.contents.draw_text(rect.x,rect.y,rect.width,rect.height, @commands[index], 1)
  end
end


#==============================================================================
# ** Window_Message
#------------------------------------------------------------------------------
#  This message window is used to display text.
#==============================================================================

class Window_Message < Window_Selectable
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    self.contents.font.color = normal_color
    x = y = 0
    @cursor_width = 0
    # Indent if choice
    if $game_temp.choice_start == 0
      x = 8
    end
    @method = 'normal'
    # If waiting for a message to be displayed
    if $game_temp.message_text != nil
      text = $game_temp.message_text
      if text.include?('~')
        not_effects = true
        @method = 'normal'
      else
        not_effects = false
      end 
      # Control text processing
      begin
        last_text = text.clone
        text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
      end until text == last_text
      text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
        $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
      end
      # Change "\\\\" to "\000" for convenience
      text.gsub!(/\\\\/) { "\000" }
      # Change "\\C" to "\001" and "\\G" to "\002"
      text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" }
      text.gsub!(/\\[Gg]/) { "\002" }
      # Get 1 text character in c (loop until unable to get text)
      while ((c = text.slice!(/./m)) != nil)
        # If \\
        if c == "\000"
          # Return to original text
          c = "\\"
        end
        # If \C[n]
        if c == "\001"
          # Change text color
          text.sub!(/\[([0-9]+)\]/, "")
          color = $1.to_i
          if color >= 0 and color <= 7
            self.contents.font.color = text_color(color)
          end
          # go to next text
          next
        end
        # If \G
        if c == "\002"
          # Make gold window
          if @gold_window == nil
            @gold_window = Window_Gold.new
            @gold_window.x = 560 - @gold_window.width
            if $game_temp.in_battle
              @gold_window.y = 192
            else
              @gold_window.y = self.y >= 128 ? 32 : 384
            end
            @gold_window.opacity = self.opacity
            @gold_window.back_opacity = self.back_opacity
          end
          # go to next text
          next
        end
        # If new line text
        if c == "\n"
          # Update cursor width if choice
          if y >= $game_temp.choice_start
            @cursor_width = [@cursor_width, x].max
          end
          # Add 1 to y
          y += 1
          x = 0
          # Indent if choice
          if y >= $game_temp.choice_start
            x = 8
          end
          # go to next text
          next
        end
        # Draw text
      unless not_effects == true
        if c == "@"
          @method = 'outline'
          next
        elsif c == "#"
          @method = 'Shadow Small'
          next
        elsif c == "$"
          @method = 'Shadow Wide'
          next 
        elsif c == "%"
          @method = 'Selected Item'
          next
        elsif c == "^"
          @method = 'Light Bisel'
          next
        elsif c == "&"
          @method = 'Small Bisel'
          next
        elsif c == "`"
          @method = 'normal'
          next
        elsif c == "*"
          @method = 'Medium Bisel'
          next
        end
      end
      if c == "~"
        next
      end 
        self.contents.draw_text(4 + x, 32 * y, 40, 32, c,0,@method)
        # Add x to drawn text width
        x += self.contents.text_size(c).width
      end
    end
    # If choice
    if $game_temp.choice_max > 0
      @item_max = $game_temp.choice_max
      self.active = true
      self.index = 0
    end
    # If number input
    if $game_temp.num_input_variable_id > 0
      digits_max = $game_temp.num_input_digits_max
      number = $game_variables[$game_temp.num_input_variable_id]
      @input_number_window = Window_InputNumber.new(digits_max)
      @input_number_window.number = number
      @input_number_window.x = self.x + 8
      @input_number_window.y = self.y + $game_temp.num_input_start * 32
    end
  end
end
Revenir en haut Aller en bas
Invité
Invité




Effets dans les messages Empty
MessageSujet: Re: Effets dans les messages   Effets dans les messages Icon_minitimeSam 26 Jan - 17:29

Je viens de le tester, je voudrais savoir si il est possible de faire des combos ? ombre + contour par exemple
Revenir en haut Aller en bas
Invité
Invité




Effets dans les messages Empty
MessageSujet: Re: Effets dans les messages   Effets dans les messages Icon_minitimeSam 26 Jan - 18:16

Ben oui il est possible comme sur screen que j'ai mis le OUI nupéros 2 Effets dans les messages 312738
Revenir en haut Aller en bas
tonyryu
Membre actif
Membre actif
tonyryu


Nombre de messages : 83
Date d'inscription : 24/01/2008

Effets dans les messages Empty
MessageSujet: Re: Effets dans les messages   Effets dans les messages Icon_minitimeSam 26 Jan - 20:25

dinonico a écrit:
Ben oui il est possible comme sur screen que j'ai mis le OUI nupéros 2 Effets dans les messages 312738

N'importe quoi, tests donc au lieu de répondre au pif, au vue du code, une seul méthode d'écriture peut être appelé à la fois.
Revenir en haut Aller en bas
Invité
Invité




Effets dans les messages Empty
MessageSujet: Re: Effets dans les messages   Effets dans les messages Icon_minitimeSam 26 Jan - 20:30

Je l'ai testé "tonyryu" Je penser qu'il me poser cette question Effets dans les messages 149928 en gros j'ai pas vraiment compris le sens de la question de "ZZZZHack" tout le mondes peut se tromper OK Effets dans les messages 149928
Revenir en haut Aller en bas
Contenu sponsorisé





Effets dans les messages Empty
MessageSujet: Re: Effets dans les messages   Effets dans les messages Icon_minitime

Revenir en haut Aller en bas
 
Effets dans les messages
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Fasecets dans les messages
» [Script/ Tuto] Couleurs dans les messages
» Créer un objet à effets multiples et aléatoires
» Messages ameliorés
» [DESIGN] Icones de nouveaux messages

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RM-Land : le forum :: Quartier des makers :: Bibliothèque-
Sauter vers: