Night.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker


Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

News: Du neuf dans le making / News: Muma|Rope est disponible en (...) / News: RPG Maker With / Site: Oniro va mieux / Site: Problèmes sur Oniro / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

410 connectés actuellement

30678753 visiteurs
depuis l'ouverture

1050 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Level Up!

Hellsoft

Guelnika & E-magination

Kingdom Ultimate

Tous nos partenaires

Devenir
partenaire



Afficher des chiffres ou du texte sur la map

Très pratique pour un A-RPG en évents. [RPG Maker XP]

Script pour RPG Maker XP
Ecrit par Mélodie
Publié par Mélodie (lui envoyer un message privé)
Signaler un script cassé

❤ 0

Voici un script pour affiché, les dégâts, ou du texte sur la map.


image


Le script:


A placé au dessus de Main


Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
#==============================================================================
# ** Script pour affiché des dégâts ou du textes sur la map
#------------------------------------------------------------------------------
# ** Crée par: Mélodie                                             Le: 08/10/11
#==============================================================================
class Game_Temp
  attr_accessor :melodie
  alias melodie_initialize initialize
  def initialize
    melodie_initialize
    @melodie = []
  end
end
class Scene_Map
  alias melodie_update update
  def update
    melodie_update
    if $scene != self
      if $game_temp.melodie != []
        $game_temp.melodie.each {|melodie| melodie.dispose}
        $game_temp.melodie = []
      end
    else
      if $game_temp.melodie != []
        if $game_temp.melodie.size < 60
          if $game_temp.melodie[$game_temp.melodie.size-1].duration != 0
            $game_temp.melodie.each {|melodie| melodie.update}
          else
            $game_temp.melodie.each {|melodie| melodie.dispose}
            $game_temp.melodie = []
          end
        else
          $game_temp.melodie.each {|melodie| melodie.dispose}
          $game_temp.melodie = []
        end
      end
    end
  end
end
class Melodie_
  attr_reader   :duration
  def initialize(x_map,y_map,degats,c1,c2,c3,critique,anime)
    @anime = anime
    valeur = degats.to_s
    bitmap = Bitmap.new(160, 48)
    bitmap.font.name = "Arial Black"
    bitmap.font.size = 28
    bitmap.font.color.set(0, 0, 0)
    bitmap.draw_text(-1, 12-1, 160, 36, valeur, 1)
    bitmap.draw_text(+1, 12-1, 160, 36, valeur, 1)
    bitmap.draw_text(-1, 12+1, 160, 36, valeur, 1)
    bitmap.draw_text(+1, 12+1, 160, 36, valeur, 1)
    bitmap.font.color.set(c1,c2,c3)
    bitmap.draw_text(0, 12, 160, 36, valeur, 1)
    if critique
      bitmap.font.size = 20
      bitmap.font.color.set(0, 0, 0)
      bitmap.draw_text(-1, -1, 160, 20, "Critique!", 1)
      bitmap.draw_text(+1, -1, 160, 20, "Critique!", 1)
      bitmap.draw_text(-1, +1, 160, 20, "Critique!", 1)
      bitmap.draw_text(+1, +1, 160, 20, "Critique!", 1)
      bitmap.font.color.set(255, 255, 255)
      bitmap.draw_text(0, 0, 160, 20, "Critique!", 1)
    end
    @sprite_melodie = Sprite.new
    @sprite_melodie.bitmap = bitmap
    @sprite_melodie.x = (x_map*32)-63
    @sprite_melodie.y = (y_map*32)-50
    @sprite_melodie.z = 3000
    if @anime
      @duration = 50
    else
      @duration = 40
    end
  end
  def update
    if @anime
      if @duration > 0
        @duration -= 1
        case @duration
      when 40..59
          @sprite_melodie.y -= 4
        when 29..39
          @sprite_melodie.y += 1
        end
        @sprite_melodie.opacity = 256 - (12 - @duration) * 32
      end
      if @duration == 0
        dispose
      end
    else
      if @duration > 0
        @duration -= 1
        case @duration
        when 25..39
          @sprite_melodie.y -= 1
        when 1..24
          @sprite_melodie.y += 1
        end
        @sprite_melodie.opacity = 256 - (12 - @duration) * 32
      end
      if @duration == 0
        dispose
      end
    end
  end
  def dispose
    if @sprite_melodie != nil
      @sprite_melodie.bitmap.dispose
      @sprite_melodie.dispose
      @sprite_melodie = nil
      @duration = 0
    end
  end
end
class Interpreter
  def m_e(id_u,degats,c1,c2,c3,critique,anime)
    if id_u.size == 1
      if id_u[0] == 0
        $game_temp.melodie.push(Melodie_.new(
        $game_player.x,$game_player.y,degats,c1,c2,c3,critique,anime))
      else id_u[0] > 0
        $game_temp.melodie.push(Melodie_.new(
        $game_map.events[id_u[0]].x,$game_map.events[id_u[0]].y,degats,
        c1,c2,c3,critique,anime))
      end
    else
      $game_temp.melodie.push(Melodie_.new(
      id_u[0],id_u[1],degats,c1,c2,c3,critique,anime))
    end
  end
end
class Game_Character
  def m_e(id_u,degats,c1,c2,c3,critique,anime)
    if id_u.size == 1
      if id_u[0] == 0
        $game_temp.melodie.push(Melodie_.new(
        $game_player.x,$game_player.y,degats,c1,c2,c3,critique,anime))
      else id_u[0] > 0
        $game_temp.melodie.push(Melodie_.new(
        $game_map.events[id_u[0]].x,$game_map.events[id_u[0]].y,degats,
        c1,c2,c3,critique,anime))
      end
    else
      $game_temp.melodie.push(Melodie_.new(
      id_u[0],id_u[1],degats,c1,c2,c3,critique,anime))
    end
  end
end



Comment utilisé le script ?



Dans un évènement il faut faire "inséré un script", dans la liste des commandes, ou dans définir la trajectoire, et placé le code si dessous:

Portion de code : Tout sélectionner

1
m_e(id_u=[],degats,c1,c2,c3,critique,anime)


- id_u=[0], pour affiché sur le héros.
- id_u=[x], pour affiché sur un évent, "x" et à changé par l'id de l'évent.
- id_u=[X,Y], pour affiché en X et Y de la map, "X" et "Y" son à changé par les coordonnée voulu.
- degats, à remplacé par une valeur ou un texte: 55 ou "le texte"
- c1,c2,c3, pour choisir la couleur, remplacé les 3 par une valeur entre 0 et 255.
c1 le rouge
c2 le vert
c3 le bleu
- critique, remplacé par true ou false, true pour affiché Critique! au dessus de la valeur ou du texte.
- anime, remplacé par true ou false, true pour que l'animation soi un peux plus haut.

Exemple:

Portion de code : Tout sélectionner

1
m_e(id_u=[0],"Moi !",255,255,255,false,false)


Portion de code : Tout sélectionner

1
m_e(id_u=[1],5546,255,10,255,false,false)


Portion de code : Tout sélectionner

1
m_e(id_u=[6,6],"Ici",25,10,255,true,false)



Question qui peux être posé:



il y a un problème, à un moment tout s'efface, c'est normal ?:
Oui, le tableau dans le script et réinitialisé quant le dénié affichage disparaît, donc si on en affiche 60 sans que l'affichage précédant et fini, le tableau efface tout pour retourné à 0.

Voila !.




Zeus81 - posté le 09/10/2011 à 18:53:51 (11071 messages postés)

❤ 0

Citation:

c'est normal ?:
Voila !.

Trop cool la double ponctuation !.

C'est marrant le pseudo partout dans les scripts, ça me rappelle berka. =>[]


Joueur1 - posté le 09/10/2011 à 20:26:22 (981 messages postés)

❤ 0

Hum ?

Hey ! très utile, ça !
On peut afficher du texte près de chaque élément avec lequel on peut interagir. Comme ça le joueur est guidé et comprend que tel élément n'est que du décor alors que tel autre va être important.

"Il y avait bien une lumière au bout du tunnel... et c'était un lance-flammes" (Terry Pratchett)


Kaila - posté le 10/10/2011 à 09:51:18 (3617 messages postés)

❤ 0

Hmmm ?

Ha oui tiens, le pseudo partout dans le script, c'est une tentative d'anti-copie ? C'est meugnon <3
Les fautes d'orthographe partout dans le post c'est beaucoup moins meugnon, par contre...
Et "m_e" comme nom de fonction c'est un peu... Moche, nul et pas du tout explicite ? Oui, c'est à peu près ça...

Everything is better with zombies.


Mélodie - posté le 10/10/2011 à 11:42:24 (147 messages postés)

❤ 0

Les mecs, c'est comme les crevettes... Rien dans la tête, tout dans la queue!! :D

Kaila a dit:


c'est une tentative d'anti-copie ?
Les fautes d'orthographe partout dans le post
Et "m_e" comme nom de fonction c'est un peu... Moche


Non pas exactement, c'est juste une habitude, tout les script que je crée on mon pseudo, même dans les script pour mon projet, sinon oui sa peux être sa aussi x).
Pour les fautes d'orthographe bas le français ce n'est pas mon points fort, mes temps qu'on arrive à lire cava :flaco
Et pour la fonction m_e, pas grave du moment que sa fonctionne :p.

Même pas une petite phrase positive :sriden

Si tu as un ennemi assieds-toi au bord du fleuve, tu verras passer son cadavre un jour ou l'autre... (proverbe du sage moine assassin). "Mes pourquoi suis-je ici ?, est ce ma vue qui se déforme ?, Ou je suis au paradis ?" Ma galerie/Mes script. Connecté que le week end et parfois dans la semaine.


Tata Monos - posté le 10/10/2011 à 11:46:54 (28 messages postés)

❤ 0

Compte Non utilisé

Citation:

Voila !.


Je vous jure que c'est pas un de mes fake :rit2


Kaila - posté le 10/10/2011 à 13:51:50 (3617 messages postés)

❤ 0

Hmmm ?

Citation:

Et pour la fonction m_e, pas grave du moment que sa fonctionne

Ho ben, moi je mettrais quand même un nom de fonction explicite pour les makers, mais bon :p

Citation:

Même pas une petite phrase positive

Mais si ! J'ai dit que c'était meugnon :F
Plus sérieusement... Je n'ai rien voulu dire de négatif, mais plutôt t'inciter à changer ces quelques poins.
Il faut dire aussi que c'est très basique, comme script. Sans vouloir te démoraliser, ce n'est pas "très" intéressant (je ne dis pas ça méchamment, hein, je n'ai pas pour but de te casser ^^).
Essaies de voir ce que tu pourrais rajouter pour le rendre plus attirrant ^^"
Là par exemple, je pense notamment à l'utilisation d'images en plus des nombres et des textes, et on mettrait par exemple un template à disposition du maker (genre une image avec les chiffres de 0 à 9).
Bon... ça implique de devoir faire un sprite pour chaque caractère, mais l'avantage c'est que tu pourra aussi déplacer chaque caractère indépendamment les uns des autres et faire de nouvelles animations (une vague, par exemple).
Enfin voilà, ce n'est qu'une idée parmi tant d'autres pour essayer d'aller plus loin ;)

Everything is better with zombies.


Mélodie - posté le 10/10/2011 à 16:42:42 (147 messages postés)

❤ 0

Les mecs, c'est comme les crevettes... Rien dans la tête, tout dans la queue!! :D

Oui il est basique, mes j'ai pas encore beaucoup d'expérience pour en faire des mieux, et puis les script basique son parfois mieux que les script trop compliqué.
Sinon utilisé des image oui c'est une bonne idée, mes sa risque de crée des lag dans le jeux si il y a plusieurs sprites affiché en même temps, enfin apprêt c'est suivent son utilisation aussi.
Je vais l'amélioré quant je vais avoir le temps, et aussi ajouté de nouvelle fonction, mes avant je fini mon petit projet.

Si tu as un ennemi assieds-toi au bord du fleuve, tu verras passer son cadavre un jour ou l'autre... (proverbe du sage moine assassin). "Mes pourquoi suis-je ici ?, est ce ma vue qui se déforme ?, Ou je suis au paradis ?" Ma galerie/Mes script. Connecté que le week end et parfois dans la semaine.


Berka - posté le 26/10/2011 à 15:47:42 (493 messages postés)

❤ 1

planchant sur un script

Zeus: Le nom dans les scripts, c'est pour la compatibilité. Mais c'est justifiable juste pour les modules. :clindoeil4

Twitter: Pensées politiques et juridiques. Réflexions informatiques


lesiteduhtml - posté le 22/09/2012 à 22:00:30 (4 messages postés)

❤ 0

Salut à tous,
C'était juste pour savoir si c'était possible de remplacé le texte affiché par une variables (les dégâts) merci ^^.
Amicalement
Jérôme


TI-MAX - posté le 29/12/2014 à 02:13:18 (144 messages postés)

❤ 0

Event Maker Expérimenté

Pour information:

- On peut afficher une variable en utilisant le code:

Portion de code : Tout sélectionner

1
$game_variables[x]



- Bémol, le script ne gère pas les Maps plus grande que 20*15. Le script prend la position de l'événement/héros et l'affiche par rapport à l'écran par la suite.

Creas par Ti-Max & Mat (Acte 1 disponible)


Roi of the Suisse - posté le 21/07/2019 à 15:09:50 (30298 messages postés) - honor -

❤ 0

Chanter l'hyperchleuasme

Je viens d'essayer le script et en effet le texte s'affiche avec un décalage lorsqu'on sort du rectangle 20*15.
Parfois le décalage est tel que le texte est affiché en dehors de l'écran, c'est-à-dire pas affiché du tout.

C'est parce que le scripteur utilise :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
      if id_u[0] == 0
        $game_temp.melodie.push(Melodie_.new(
        $game_player.x,$game_player.y,degats,c1,c2,c3,critique,anime))
      else id_u[0] > 0
        $game_temp.melodie.push(Melodie_.new(
        $game_map.events[id_u[0]].x,$game_map.events[id_u[0]].y,degats,
        c1,c2,c3,critique,anime))
      end

au lieu de :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
      if id_u[0] == 0
        real_x = ((($game_player.real_x - $game_map.display_x) /4 +16) /32 ).to_i
        real_y = ((($game_player.real_y - $game_map.display_y) /4 +16) /32 ).to_i
        $game_temp.melodie.push(Melodie_.new(real_x, real_y, degats,c1,c2,c3,critique,anime))
      else id_u[0] > 0
        real_x = ((($game_map.events[id_u[0]].real_x - $game_map.display_x) /4 +16) /32 ).to_i
        real_y = ((($game_map.events[id_u[0]].real_y - $game_map.display_y) /4 +16) /32 ).to_i 
        $game_temp.melodie.push(Melodie_.new(real_x, real_y, degats,c1,c2,c3,critique,anime))
      end

Il ne faut pas utiliser les coordonnées du héros pures, mais il faut les transformer avant. C'est ce que j'ai appelé ici real_x et real_y.
En effet, il faut soustraire la position de la caméra pour que le texte soit affiché au bon endroit. Pour le rectangle 20*15, ça marche parce que la position de la caméra est 0;0.
J'ai testé et ça permet d'afficher du texte sur le héros et un event même en dehors de la zone 20*15.

Mise en garde cependant : j'ai fait l'hypothèse simplificatrice que l'event avait une largeur de 32 pixels (majorité des cas), d'où mes +16 lors du recentrage.
Pour avoir la vraie largeur de l'event, il faudrait regarder dans la page active et calculer à partir de l'image d'apparence actuelle. C'est un peu chiant.



Es-tu une star ? | Kujira no Hara | Muma|Rope | Polaris 03 | La 7e porte

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site

Communauté: Accueil | Forum | Chat | Commentaires | News | Flash-news | Screen de la semaine | Sorties | Tests | Gaming-Live | Interviews | Galerie | OST | Blogs | Recherche
Apprendre: Visite guidée | RPG Maker 95 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker MV | Tutoriels | Guides | Making-of
Télécharger: Programmes | Scripts/Plugins | Ressources graphiques / sonores | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Tous les jeux | Jeux complets | Le cimetière | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Proposer
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis
Archives: Palmarès | L'Annuaire | Livre d'or | Le Wiki | Divers