Roys Guide
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
| Sujet: Afficher un message au dessus d'un event Mer 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 | |
|
Roys Guide
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
| Sujet: Re: Afficher un message au dessus d'un event Jeu 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 | |
|
Siegfried Guide
Nombre de messages : 37 Age : 37 Projet Principal : Legacy of Judge : Veil of Oblivion Date d'inscription : 26/02/2007
| Sujet: Re: Afficher un message au dessus d'un event Jeu 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. Quelqu'un avait fait un truc similaire pour afficher des icones. Ca te branche de l'adapter aussi ? | |
|
Roys Guide
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
| Sujet: Re: Afficher un message au dessus d'un event Jeu 31 Mai - 4:06 | |
| Uhm excellent idée ca, et pas très dur à faire Ok, j'adapte | |
|
madococo
Nombre de messages : 3 Date d'inscription : 30/05/2007
| Sujet: Re: Afficher un message au dessus d'un event Jeu 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 Si c'est cela, dite le moi, je vous fait une démo avec un tuto ! | |
|
Roys Guide
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
| Sujet: Re: Afficher un message au dessus d'un event Jeu 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 | |
|
Roys Guide
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
| Sujet: Re: Afficher un message au dessus d'un event Ven 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 | |
|
Contenu sponsorisé
| Sujet: Re: Afficher un message au dessus d'un event | |
| |
|