Bienvenue visiteur !
|
Statistiques
Liste des membres
Contact
Mentions légales
460 connectés actuellement
30732736 visiteurs depuis l'ouverture
2715 visiteurs aujourd'hui
Partenaires
Tous nos partenaires
Devenir partenaire
|
❤ 0 Voici un script pour affiché, les dégâts, ou du texte sur la map.
Le script:
A placé au dessus de Main
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:
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:
1
| m_e(id_u=[0],"Moi !",255,255,255,false,false) |
1
| m_e(id_u=[1],5546,255,10,255,false,false) |
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)
| | Citation: 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)
| 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)
| 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)
| 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
Et pour la fonction m_e, pas grave du moment que sa fonctionne .
Même pas une petite phrase positive
|
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)
| Compte Non utilisé | Citation:
Je vous jure que c'est pas un de mes fake
|
Kaila -
posté le 10/10/2011 à 13:51:50 (3617 messages postés)
| 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
Citation: Même pas une petite phrase positive |
Mais si ! J'ai dit que c'était meugnon
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)
| 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)
| planchant sur un script | Zeus: Le nom dans les scripts, c'est pour la compatibilité. Mais c'est justifiable juste pour les modules.
|
Twitter: Pensées politiques et juridiques. Réflexions informatiques |
lesiteduhtml -
posté le 22/09/2012 à 22:00:30 (4 messages postés)
| | 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)
| Event Maker Expérimenté | Pour information:
- On peut afficher une variable en utilisant le code:
- 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) |
| 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 :
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 :
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 | |
|
|