LODM (L'Oasis des Makers)
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

LODM (L'Oasis des Makers)

Forum d'étude sur le Making RMXP
 
AccueilPortailRechercherDernières imagesS'enregistrerConnexion
-40%
Le deal à ne pas rater :
Tefal Ingenio Emotion – Batterie de cuisine 10 pièces (induction, ...
59.99 € 99.99 €
Voir le deal

 

 Afficher un message au dessus d'un event

Aller en bas 
3 participants
AuteurMessage
Roys
Guide
Guide
Roys


Nombre de messages : 111
Age : 52
Projet Principal : Le Crépuscule des Dieux
Aide Recherchée pour : des chara aRPG
Surnom : Scripteur Monomaniaque
Date d'inscription : 24/02/2007

Afficher un message au dessus d'un event Empty
MessageSujet: Afficher un message au dessus d'un event   Afficher un message au dessus d'un event Icon_minitimeMer 30 Mai - 3:25

Cher tous

Voici une nouvelle commande pour RMXP, cette fois-ci il s'agit de pouvoir ajouter un texte qui saute au dessus d'un event. Ceci vous permettra d'afficher des messages, mais aussi des dégats, un statut etc.

La commande est simple: inserer commentaire : Eventext numero_de_l_event texte_a_afficher

Vous pouvez aussi faire afficher le contenu d'une variable, pour cela il vous suffit de mettre v[vn] dans votre texte pour afficher le contenu de la variable vn

Lisez attentivement les explications et n'oubliez pas le script suivant:
https://lodm.forumactif.com/Groupe-pour-Scripts-f4/Outils-pour-Event-Maker-f7/A-mettre-pour-ajouter-de-nouvelles-fonctions-t35.htm

Code:
#==============================================================================
# OUTILS
# EVENTEXT
#--------------------
# Stephane, Roys
# Mai 2007
#--------------------
# Explication
# Permet l'affichage d'un texte ou d'un nombre au dessus d'un event
#--------------------
# Mode d'Emploi
#  Faire inserer commentaire : Eventext num texte
# Remplacer num, par le numéro de l'event au dessus duquel vous voulez afficher le texte
# Remplacer texte, par le texte que vous voulez afficher

# Pour afficher le contenu d'ne variable, ajouter \v[vn] dans votre texte
# ceci affichera le contenu de la variable vn
# ex: Inserer commentaire : Eventext 1 J ai \v[1] pommes
# Si le contenu de la variable 1 est égal à 9, ceci afficher le message "j ai 9 pommes"

# AFFICHER une icone sur un event : Eventext num Icone nom pause
# Remplacer num par self ou le numero de l'event
#          nom par le nom du fichier de l'icone ou Off pour enlever l'icone
#          pause par le nombre de frame ou l'icone est affiche, 0 pour icone permanente

# Vous pouvez changer la police en ligne ici
EVENTEXTPOLICE = "Arial"
# Vous pouvez changer la taille ici
EVENTEXTTAILLE=18
#==============================================================================

#==============================================================================
# Interpreter
#==============================================================================
class Interpreter
  alias outil_eventext_command108 command_108

  def command_108
    # Commande non valide
    if @parameters[0].split.size>2
      # Commande valide
      if (@parameters[0].upcase)[/EVENTEXT/]=="EVENTEXT"
        #----------------------
        # Recupère le numéro de l'event
        com=@parameters[0].split
        if com[1].upcase=="SELF"
          event=$game_map.events[@event_id]
        else
          event=$game_map.events[com[1].to_i]
        end
        #----------------------
        # Récupère le texte
        texte=com[2]
        #----------------------
        # Affichage d'icone
        if texte.upcase=="ICONE"
          if com[3].upcase=="OFF"
            event.icone=""
          else
            event.icone=com[3]
            event.icone_pause=com[4].to_i
          end
        else
          for i in 3..com.size-1
            texte=texte+" "+com[i]
          end
          # Remplace les variables
          texte.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
          event.texte=texte
        end
      end
    end
    outil_eventext_command108
  end
end

#==============================================================================
# GAME EVENT
#==============================================================================
class Game_Character
  attr_accessor:texte
  attr_accessor:icone
  attr_accessor:last_icone 
  attr_accessor:icone_pause

  alias outils_eventext_game_event_initialize initialize
 
  def initialize
    outils_eventext_game_event_initialize
    @texte=nil
    @icone=nil
    @last_icone=nil
    @icone_pause=0
  end
end

#==============================================================================
# SPRITESET MAP
#==============================================================================
class Sprite_Character < RPG::Sprite
  #--------------------------------------------------------------------------
  alias eventext_spriteset_map_dispose dispose
  alias eventext_spriteset_map_update update

  def initialize(viewport, character = nil)
    super(viewport)
    @character = character
    update
  end
 
  #--------------------------------------------------------------------------
  # UPDATE
  #--------------------------------------------------------------------------
  def update
    eventext_spriteset_map_update
    affiche_texte if @character.texte!=nil and @character!=nil
    affiche_icone if  @character.icone!=nil and @character!=nil
  end
 
  #--------------------------------------------------------------------------
  # AFFICHE TEXTE
  #--------------------------------------------------------------------------
  def affiche_texte
    #---------------------------------------
    # Gere les affichages multiples des degats
    if @_damage_duration==0 or @nb_degat==4
      @nb_degat=0
      dispose_damage if  @bitmap_damage!=nil
    end
    #---------------------------------------
    # Affiche un texte au dessus du sprite
    if @character.texte != nil
      text(@character.texte)
      @character.texte=nil
    end
  end
 
  #--------------------------------------------------------------------------
  # AFFICHE TEXTE
  #--------------------------------------------------------------------------
  def affiche_texte
    #---------------------------------------
    # Gere les affichages multiples des degats
    if @_damage_duration==0 or @nb_degat==4
      @nb_degat=0
      dispose_damage if  @bitmap_damage!=nil
    end
    #---------------------------------------
    # Affiche un texte au dessus du sprite
    if @character.texte != nil
      text(@character.texte)
      @character.texte=nil
    end
  end

  #--------------------------------------------------------------------------
  # AFFICHE ICONE
  #--------------------------------------------------------------------------
  def affiche_icone
    #---------------------------------------
    # Gere les affichages multiples des degats
    return if @character.icone==nil
    @bitmap_icone.dispose if @bitmap_icone!=nil if @character.icone==""
    if @character.icone!=@character.last_icone
      @sprite_icone=Sprite.new(@viewport) if @sprite_icone==nil
      @character.last_icone=@character.icone
      @sprite_icone.bitmap=RPG::Cache.icon(@character.icone)
    end
    @character.icone_pause-=1
    if @character.icone_pause==0
      @sprite_icone.bitmap.dispose
      @character.icone=nil
    end
    @sprite_icone.x=@character.screen_x
    @sprite_icone.y=@character.screen_y-@ch
    @sprite_icone.ox=12
    @sprite_icone.oy=24
    @sprite_icone.z=3000
  end
 
  #--------------------------------------------------------------------------
  # TEXT
  # Affiche un texte
  #--------------------------------------------------------------------------
  def text(text)
    larg=EVENTEXTTAILLE*text.size/2
    haut=EVENTEXTTAILLE*3
    @nb_degat+=1
    if @nb_degat==1
      @bitmap_damage = Bitmap.new(larg, haut)
      @_damage_sprite = ::Sprite.new(self.viewport)
    end
    # Fond noir
    @bitmap_damage.font.name = EVENTEXTPOLICE
    @bitmap_damage.font.size = EVENTEXTTAILLE
    @bitmap_damage.font.color.set(0, 0, 0)
    @bitmap_damage.draw_text(-1, (@nb_degat*10)-EVENTEXTTAILLE-1, larg, haut, text, 1) 
    # Texte en dégradé de bleu
    coul=255-(@nb_degat*30)
    @bitmap_damage.font.color.set(coul, coul, 255)
    @bitmap_damage.draw_text(0, (@nb_degat*10)-EVENTEXTTAILLE, larg, haut, text, 1)
    @_damage_sprite.bitmap = @bitmap_damage
    @_damage_sprite.ox = larg/2
    @_damage_sprite.oy = haut
    @_damage_sprite.x = self.x
    @_damage_sprite.y = self.y - self.oy / 2
    @_damage_sprite.z=5000
    @_damage_duration = 40
  end
end


Dernière édition par le Ven 1 Juin - 14:22, édité 3 fois
Revenir en haut Aller en bas
https://lodm.forumactif.com
Roys
Guide
Guide
Roys


Nombre de messages : 111
Age : 52
Projet Principal : Le Crépuscule des Dieux
Aide Recherchée pour : des chara aRPG
Surnom : Scripteur Monomaniaque
Date d'inscription : 24/02/2007

Afficher un message au dessus d'un event Empty
MessageSujet: Re: Afficher un message au dessus d'un event   Afficher un message au dessus d'un event Icon_minitimeJeu 31 Mai - 1:38

Un petit ajout s'imposait, a savoir pour mettre l'option d'afficher un texte sur l'event qui appelle la commande, sans mettre un numéro d event.
voila qui est fait, il suffit de mettre Self pour que la commande récupère seule le numero de l'event. Cela permettra facilement les copier-coller
Revenir en haut Aller en bas
https://lodm.forumactif.com
Siegfried
Guide
Guide



Nombre de messages : 37
Age : 37
Projet Principal : Legacy of Judge : Veil of Oblivion
Date d'inscription : 26/02/2007

Afficher un message au dessus d'un event Empty
MessageSujet: Re: Afficher un message au dessus d'un event   Afficher un message au dessus d'un event Icon_minitimeJeu 31 Mai - 2:54

Propositions d'utilisation :
-MMORPG ( nom des joueurs )
-NPCs : nom des npcs
-A-RPG : dégâts, hp
-Tous systèmes : Altérations d'état...

Bref, avec ça, on peut aller loin. Smile
Quelqu'un avait fait un truc similaire pour afficher des icones.
Ca te branche de l'adapter aussi ? Very Happy
Revenir en haut Aller en bas
Roys
Guide
Guide
Roys


Nombre de messages : 111
Age : 52
Projet Principal : Le Crépuscule des Dieux
Aide Recherchée pour : des chara aRPG
Surnom : Scripteur Monomaniaque
Date d'inscription : 24/02/2007

Afficher un message au dessus d'un event Empty
MessageSujet: Re: Afficher un message au dessus d'un event   Afficher un message au dessus d'un event Icon_minitimeJeu 31 Mai - 4:06

Uhm excellent idée ca, et pas très dur à faire
Ok, j'adapte
Revenir en haut Aller en bas
https://lodm.forumactif.com
madococo

madococo


Nombre de messages : 3
Date d'inscription : 30/05/2007

Afficher un message au dessus d'un event Empty
MessageSujet: Re: Afficher un message au dessus d'un event   Afficher un message au dessus d'un event Icon_minitimeJeu 31 Mai - 5:10

Pour afficher des icones... Au dessus d'un Event?

Par exemple... Dans World of warcraft... Il y a un point d'exclamation pour une quête etc.?!

Enfin, si c'est cela... Il y a deux moyens que l'on peut faire en event en Wink

Si c'est cela, dite le moi, je vous fait une démo avec un tuto Wink !
Revenir en haut Aller en bas
Roys
Guide
Guide
Roys


Nombre de messages : 111
Age : 52
Projet Principal : Le Crépuscule des Dieux
Aide Recherchée pour : des chara aRPG
Surnom : Scripteur Monomaniaque
Date d'inscription : 24/02/2007

Afficher un message au dessus d'un event Empty
MessageSujet: Re: Afficher un message au dessus d'un event   Afficher un message au dessus d'un event Icon_minitimeJeu 31 Mai - 5:53

Oui je pense que c'est cela, mais ici ce groupe de recherche développe des nouvelles commandes faciles à utiliser pour les events makers. Le but n'est justement de ne pas tout reprogrammer en event mais d'utiliser des commandes simples qui facilite le développement sur RMXP. Lire à ce sujet les objectifs des groupes de recherche
Revenir en haut Aller en bas
https://lodm.forumactif.com
Roys
Guide
Guide
Roys


Nombre de messages : 111
Age : 52
Projet Principal : Le Crépuscule des Dieux
Aide Recherchée pour : des chara aRPG
Surnom : Scripteur Monomaniaque
Date d'inscription : 24/02/2007

Afficher un message au dessus d'un event Empty
MessageSujet: Re: Afficher un message au dessus d'un event   Afficher un message au dessus d'un event Icon_minitimeVen 1 Juin - 13:54

J'ai déja fait un petit upgrade pour afficher plusieurs texte à la fois.

Et boum j'ai ajouté les icones, meme principe
Eventext numero_de_l_event_ou_self Icone fichier pause_ou_off

Lisez les explications en début de script
Smile
Revenir en haut Aller en bas
https://lodm.forumactif.com
Contenu sponsorisé





Afficher un message au dessus d'un event Empty
MessageSujet: Re: Afficher un message au dessus d'un event   Afficher un message au dessus d'un event Icon_minitime

Revenir en haut Aller en bas
 
Afficher un message au dessus d'un event
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Deplace l'event/Joueur vers un autre event
» Modifier La boite de dialogue - Message Window
» Proposer de nouvelles fonctions pour Event-Maker
» "un pas loin" Eloigne un event d'un autre

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
LODM (L'Oasis des Makers) :: Groupe pour Scripts :: Outils pour Event-Maker-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser