Bienvenue visiteur !
|
Statistiques
Liste des membres
Contact
Mentions légales
673 connectés actuellement
30687814 visiteurs depuis l'ouverture
2360 visiteurs aujourd'hui
Partenaires
Tous nos partenaires
Devenir partenaire
|
Yoyolink -
posté le 17/09/2013 à 19:33:48 (8 messages postés)
| | Et bien, après tout, si je suis ici c'est pour pouvoir poster mon projet et avoir des avis dessus... enfin, rien de surprenant j'imagine, le moment est venu ! ^^
Je suis donc content de vous présenter, comme vous pouvez vous en douter avec le titre, mon fan game de Mario !
Spoiler (cliquez pour afficher)
J'ai été super original pour cette présentation hein ? En tout cas, il s'agit d'un rpg dans le style des jeux de la série Mario & Luigi, j'essaie de me rapprocher de l'esprit de la série, même si j'en fais quelques modifications personnelles. Par exemple, et c'est bon à savoir, tout le monde parle, y compris mario, luigi et yoshi ^^. J'ai pas la prétention non plus de sortir les combats dynamiques de la série, même si j'aimerais bien, faudra se contenter de combat vu de côté simples...
La plupart des musiques sont aussi des musiques de jeux Mario, même si y'a quelques extras, devrait pas y avoir de dépaysement pour les fans de la série.
Scénario
Cette fois-ci, Peach est tranquille ! C'est le pauvre Yoshi qui a tous les problèmes....
Ce jour là, il était allé exceptionnellement à Toadville pour chercher des cookies pour lui et son frère (après tout, c'est un yoshi... ^^ ), en passant par le seul passage existant entre le royaume champignon et l'île des yoshis... le canon !
Spoiler (cliquez pour afficher)
Le voyage à Toadville se passe bien, malgré l'atterrissage... douloureux. Les précieux cookies en poche, il décida avant de revenir d'entrer au château de la princesse. Mais pas de chance, les gardes ne le laissent pas passer, la princesse a organisée une réunion à la dernière minute, sans qu'on ne lui dise la raison....
Dommage, il dût bien se résigner à entrer chez lui.... et c'est à ce moment que tout tourne mal. Tous les yoshis du village ont disparu, sans exceptions, y compris son frère ! Yoshi est effondré... mais il se décida à découvrir ce qui leur était arrivé en voyageant à travers le Royaume, poussé par une voix qui dit provenir du havre étoile et qui lui donna un billet de voyage (très) rapide en direction du château de la princesse où il trouva Mario, Luigi en pleine discussion avec elle !
Elle expliqua alors que de nombreuses fosses sont apparues un peu partout dans le royaume, et les toads explorateurs qui y ont été envoyés ne donnent plus de nouvelles... Les frères Mario décident donc de s'allier à Yoshi et d'explorer ces fosses ! Peut-être que ces évènements ont un lien... ?
Personnages
Pas de surprises à ce niveau là, les 3 personnages principaux sont Mario, Luigi et Yoshi, mais il y en a un autre qui nous rejoins bien plus tard dans l'aventure, je ne le présenterais pas ici... ^^
Mario : Il est le plus expérimenté du groupe, c'est lui qui donne la majorité des conseils permettant de poursuivre l'aventure, plutôt tourné vers l'attaque !
Luigi : D'un naturel peureux, il est particulièrement inquiet dans toutes les situations qui met le groupe en danger, mais a la chance d'avoir un bon cota de PV !
Yoshi : Le héros de l'aventure ! Toujours enthousiaste, Yoshi est plus sérieux ici, après tout, son espèce est en jeu. Il pourra s'aider de sa grande agilité lors des combats.
Screens divers
Spoiler (cliquez pour afficher)
Démo
Et oui, il y a une démo ! Celle-ci englobe toute la partie que j'ai détaillé du scénario, + le 1er donjon et quelques bonus (dont 3 coups spéciaux cachés... ), je m'excuse d'avance des fautes d'orthographe qu'il pourrait y avoir... j'ai déjà revérifié une fois, mais je sais qu'il reste des fautes :/
http://www.mediafire.com/download/slxxqmndb8dhxh6/M%26L++A+Yoshi%27s+Story.rar
En espérant que vous appréciez jouer, et merci d'avance pour vos réponses ^^
Je dois juste vous prévenir que je suis particulièrement pris par mes études... je risque de ne pas avoir le temps d'avancer beaucoup dans mon jeu du coup :/
|
Yoshi-Thomas -
posté le 17/09/2013 à 21:33:30 (47 messages postés)
| | Rien que le titre du jeu me pousse à dire que le potentiel est au maximum.
Tout me semble très bien, j'adhère.
|
RPG Fusion -
posté le 18/09/2013 à 21:30:53 (381 messages postés)
| Je fus RPG Fusion jadis | Belle présentation.
Fait gaffe par contre à ne pas laisser trop de vide sur les maps.
En tout, c´est rare de voir des graphismes ressemblant à ceux de marion sur RMXP, ce qui rend ton projet d´autant plus interessant. Peut-etre faudrait faire un système de combats plus custom.
Autrement, c´est bien. Continue comme ça, j´ai hate de voir ce que cela va donner fini.
|
Suis Shaper sur Twitter ! - Rejoins le serveur discord de Shaper ! |
Yoyolink -
posté le 18/09/2013 à 22:32:10 (8 messages postés)
| | Yoshi-Thomas : Merci ! Par contre, le titre du jeu... je l'ai surtout choisi faute de mieux, et ça me permettait de faire une référence à un autre jeu... donc bon ^^
RPG Fusion : ... Je ne connais pas de "Marion" . Je fais ce que je peux pour les maps, j'ai un peu de mal mais j'essaye de combler le vide par des détails (des fleurs/buissons la plupart du temps... dans les maisons c'est plus dur ^^') . Et concernant un système de combat, je voudrais bien, mais je ne m'y connais vraiment pas en scriptage, donc faute de mieux je me sers de ce système... et maintenant que j'ai fais quelques animations et les battlers de plusieurs persos ça m’embêterait de le changer ^^' . Content que tu ais apprécié en tout cas.
|
Maelstorm -
posté le 18/09/2013 à 23:31:57 (3984 messages postés)
| Une chance sur un million | je pense qu'il y a du pot en ciel ! les resources sont bien utilisées, il manque peut etre un peut d'Omo gène et d'ité, si tu voix ce que je veux dire ... entre les décors et les menus surtout. Sinon c'est coloré et les images semblent dans le style mario rpg pour le peux que j'en ai joué ... un coup d'humour made in nintendo et t'es parti pour faire un truc génial !
|
Yamashi54 -
posté le 06/10/2013 à 00:06:17 (266 messages postés)
| Germanophile en folie poétique | Je n'ai pas encore tester, mais le jeu a l'air d'avoir un bel avenir.
Mais il faut tout de même revoir les menus et personnaliser le système de combat (même si il est très semblable à celui utiliser dans les jeux Mario & Luigi).
Bref, en deux mots: Bonne continuation !
|
I want you for the bed. |
Yoyolink -
posté le 06/10/2013 à 13:14:08 (8 messages postés)
| | Merci pour vos commentaires, ça fait plaisir de voir que vous appréciez ^^
Malestorm : Je vois ce que tu veux dire pour les menus, je me suis contenté de prendre un script qui allait (en modifiant les icones, quand même) et de prendre un style de messages pas trop éloigné, j'avoue que j'aimerais bien amélioré rien que le style des messages pour que ce soit plus "Mario", mais je ne sais pas en faire moi-même, du coup, je me contente de ça... Sinon, pour l'humour, j'essaye toujours de garder l'esprit mario dans le jeu, même si c'est vrai que c'est étrangement sérieux au début...
Yamashi : Content que ça te plaise, j'espère que tu apprécieras la démo tout autant ^^ . Pour les menus j'en ai déjà parlé au dessus, je suis aussi pour améliorer ça. Par contre, pour les combats... j'avoue que ça m’embêterais un peu maintenant que j'ai fais plutôt pas mal de battlers et de coups spéciaux ^^'
|
Maelstorm -
posté le 06/10/2013 à 14:14:12 (3984 messages postés)
| Une chance sur un million |
cette map est un peut vide, ça fait tache au vu du reste ... et c'est bien dommage
|
| Je suis dans le game ! | Marre des fans Games Mario aussi
|
Projet en cours: INRAL / En pause :NEOTORI /// Pause : L'ANKH DE KINBRA /// Pause : GRASS SHOPPER /// GALERIE |
catskart -
posté le 09/10/2013 à 23:00:14 (172 messages postés)
| | esziaprez game a dit:
Marre des fans Games Mario aussi
|
ici, c'est un forum de maker, donc, pour faire tout style de jeu, laisse donc la liberté de faire des fan games ok ?
Si t'es pas content, tu viens pas dans ce topic c'tout.
Sinon, j'aime bien la démo de ton projet de yoshi story.
le village à l'air un peu vide par contre, pour l'instant j'ai pas eu trops le temps avec les études, mais je joue à ton jeu dans mes temps libre t'inquiete.
|
thephv1FR -
posté le 28/04/2014 à 22:18:25 (107 messages postés)
| Headcrab | Ce jeu est super ! Pour une fois que Yoshi est le héro dans un Mario-Like ! Mais je trouve qu'il y a trop de combat et dans chaque combat il y a toujours 3 ennemis , ça serait bien que dès fois il y en a 2 voir 1. Sinon la Démo est resté comme ça depuis 2013 je crois quand sort tu la version complète ou une autre version de la Démo ?
|
http://charasmario-rpgmaker.e-monsite.com/ |
FalconPilot -
posté le 28/04/2014 à 22:23:42 (482 messages postés)
| Tu dois vivre, mon fils | Citation: des graphismes ressemblant à ceux de marion |
|
Voici venu le temps des Félons. |
Hellper -
posté le 28/04/2014 à 23:36:33 (5402 messages postés)
| Tonton Hellper | Sauf qu'en fait son nécropst est justifié puisqu'il pose une question au maker ...
|
La liste des raisons pour lesquelles le making se meurt, la cinquième va vous étoner | Des projets abandonnés, source d'inspiration :D | Mes jeux |
Criket -
posté le 28/04/2014 à 23:36:56 (1389 messages postés)
| LesFiersAuxCrabes ftw | Yamashi, tu pourrais faire une image moins grande danke plize ? Là elle déforme mon écran. Comme il n'est pourtant pas complètement gifesque, je dois pas être la seule que ça gène.
|
Que fera le passé ? Rien. Que fera le futur ? Tout. Rejoignez le parti du futur ! |
Ninten123 -
posté le 24/11/2016 à 17:57:26 (7 messages postés)
| | Salut Yoyolink bon voila ton fan game mario luigi est plutot sympa meme cool mais j'ai une question a te poser . Tu pourras m'envoier le ou les script que tu as utiliser pour faire les animation de combat ce serait vraiment sympa de ta par merci d'avance
|
Verehn -
posté le 24/11/2016 à 18:06:14 (9058 messages postés)
- | Vhehrhehn | Ninten123: comme il ne risque pas de repasser ici (depuis 2013) tu iras plus vite en ouvrant le jeu (après un décryptage si besoin) et en regardant les scripts.
|
Eldrao ~ PakuPaku ~ Winged Light ~ Ruin ~ Ma galerie ~ LTDAD ~ Don de graphismes plateforme 2D |
Ninten123 -
posté le 01/12/2016 à 11:02:53 (7 messages postés)
| | Merci mais le probleme c'est que je n'arrive pas a placer son dossier game.ini sur mon rpg maker xp . comment je fais pour prendre son script (ou ses scripts) ?
|
Verehn -
posté le 02/12/2016 à 14:25:17 (9058 messages postés)
- | Vhehrhehn | Voici son script:
Animated Battlers par Minkoff
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
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
| #==============================================================================
# ** Sprite_Battler
#------------------------------------------------------------------------------
# Animated Battlers by Minkoff
#==============================================================================
class Sprite_Battler < RPG::Sprite
#--------------------------------------------------------------------------
# * Initialize
#--------------------------------------------------------------------------
alias cbs_initialize initialize
def initialize(viewport, battler = nil)
@speed = 7
@frames = 4
@poses = 11
@stationary_enemies = true
@stationary_actors = false
@calculate_speed = true
@phasing = true
@frame = 5
@pose = 0
@last_time = 0
@last_move_time = 0
cbs_initialize(viewport, battler)
viewport.z = 99
end
#--------------------------------------------------------------------------
# * Update
#--------------------------------------------------------------------------
alias cbs_update update
def update
return unless @battler
# Regular Update
cbs_update
# Start Routine
unless @started
@width = @width / @frames
@height = @height / @poses
@display_x = @battler.screen_x
@display_y = @battler.screen_y
@destination_x = @display_x
@destination_y = @display_y
end
# Setup Sprite
self.src_rect.set(@width * @frame, @height * @pose, @width, @height)
self.mirror = @battler.is_a?(Game_Enemy) unless @started
# Position Sprite
self.x = @display_x
self.y = @display_y
self.z = @display_y
self.ox = @width / 2
self.oy = @height
# Setup Animation
time = Graphics.frame_count / (Graphics.frame_rate / @speed)
if @last_time < time
@frame = (@frame + 1) % @frames
if @frame == 0 or @reload
if @freeze
@frame = @frames - 1
return
end
@pose = state
end
end
@last_time = time
# Move It
move if moving
# Finish Up
@started = true
end
#--------------------------------------------------------------------------
# * Current State
#--------------------------------------------------------------------------
def state
# Damage State
if [nil,{}].include?(@battler.damage)
# Battler Fine
@state = 0
# Battler Wounded
@state = 2 if @battler.hp < @battler.maxhp / 4
# Battler Dead
@state = 10 if @battler.dead?
end
# Guarding State
@state = 3 if @battler.guarding?
# Moving State
if moving
# Battler Moving Left
@state = 4 if moving.eql?(0)
# Battler Moving Right
@state = 5 if moving.eql?(1)
end
# Return State
return @state
end
#--------------------------------------------------------------------------
# * Move
#--------------------------------------------------------------------------
def move
time = Graphics.frame_count / (Graphics.frame_rate.to_f / (@speed * 5))
if @last_move_time < time
# Pause for Animation
return if @pose != state
# Phasing
if @phasing
d1 = (@display_x - @original_x).abs
d2 = (@display_y - @original_y).abs
d3 = (@display_x - @destination_x).abs
d4 = (@display_y - @destination_y).abs
self.opacity = [255 - ([d1 + d2, d3 + d4].min * 1.75).to_i, 0].max
end
# Calculate Difference
difference_x = (@display_x - @destination_x).abs
difference_y = (@display_y - @destination_y).abs
# Done? Reset, Stop
if [difference_x, difference_y].max.between?(0, 8)
@display_x = @destination_x
@display_y = @destination_y
@pose = state
return
end
# Calculate Movement Increments
increment_x = increment_y = 1
if difference_x < difference_y
increment_x = 1.0 / (difference_y.to_f / difference_x)
elsif difference_y < difference_x
increment_y = 1.0 / (difference_x.to_f / difference_y)
end
# Calculate Movement Speed
if @calculate_speed
total = 0; $game_party.actors.each{ |actor| total += actor.agi }
speed = @battler.agi.to_f / (total / $game_party.actors.size)
increment_x *= speed
increment_y *= speed
end
# Multiply and Move
multiplier_x = (@destination_x - @display_x > 0 ? 8 : -8)
multiplier_y = (@destination_y - @display_y > 0 ? 8 : -8)
@display_x += (increment_x * multiplier_x).to_i
@display_y += (increment_y * multiplier_y).to_i
end
@last_move_time = time
end
#--------------------------------------------------------------------------
# * Set Movement
#--------------------------------------------------------------------------
def setmove(destination_x, destination_y)
unless (@battler.is_a?(Game_Enemy) and @stationary_enemies) or
(@battler.is_a?(Game_Actor) and @stationary_actors)
@original_x = @display_x
@original_y = @display_y
@destination_x = destination_x
@destination_y = destination_y
end
end
#--------------------------------------------------------------------------
# * Movement Check
#--------------------------------------------------------------------------
def moving
if (@display_x != @destination_x and @display_y != @destination_y)
return (@display_x > @destination_x ? 0 : 1)
end
end
#--------------------------------------------------------------------------
# * Set Pose
#--------------------------------------------------------------------------
def pose=(pose)
@pose = pose
@frame = 0
end
#--------------------------------------------------------------------------
# * Freeze
#--------------------------------------------------------------------------
def freeze
@freeze = true
end
#--------------------------------------------------------------------------
# * Fallen Pose
#--------------------------------------------------------------------------
def collapse
return
end
end
#==============================================================================
# ** Game_Actor
#==============================================================================
class Game_Actor
#--------------------------------------------------------------------------
# * Actor X Coordinate
#--------------------------------------------------------------------------
def screen_x
if self.index != nil
return self.index * 45 + 450
else
return 0
end
end
#--------------------------------------------------------------------------
# * Actor Y Coordinate
#--------------------------------------------------------------------------
def screen_y
return self.index * 35 + 200
end
#--------------------------------------------------------------------------
# * Actor Z Coordinate
#--------------------------------------------------------------------------
def screen_z
return screen_y
end
end
#==============================================================================
# ** Scene_Battle
#==============================================================================
class Scene_Battle
#--------------------------------------------------------------------------
# * Action Animation, Movement
#--------------------------------------------------------------------------
alias cbs_update_phase4_step3 update_phase4_step3
def update_phase4_step3(battler = @active_battler)
@rtab = !@target_battlers
target = (@rtab ? battler.target : @target_battlers)[0]
@moved = {} unless @moved
return if @spriteset.battler(battler).moving
case battler.current_action.kind
when 0 # Attack
if not (@moved[battler] or battler.guarding?)
offset = (battler.is_a?(Game_Actor) ? 40 : -40)
@spriteset.battler(battler).setmove(target.screen_x + offset, target.screen_y)
@moved[battler] = true
return
elsif not battler.guarding?
@spriteset.battler(battler).pose = 6 + rand(2)
@spriteset.battler(battler).setmove(battler.screen_x, battler.screen_y)
end
when 1 # Skill
@spriteset.battler(battler).pose = 8
when 2 # Item
@spriteset.battler(battler).pose = 0
end
@moved[battler] = false
@rtab ? cbs_update_phase4_step3(battler) : cbs_update_phase4_step3
end
#--------------------------------------------------------------------------
# * Hit Animation
#--------------------------------------------------------------------------
alias cbs_update_phase4_step4 update_phase4_step4
def update_phase4_step4(battler = @active_battler)
for target in (@rtab ? battler.target : @target_battlers)
damage = (@rtab ? target.damage[battler] : target.damage)
if damage.is_a?(Numeric) and damage > 0
@spriteset.battler(target).pose = 1
end
end
@rtab ? cbs_update_phase4_step4(battler) : cbs_update_phase4_step4
end
#--------------------------------------------------------------------------
# * Victory Animation
#--------------------------------------------------------------------------
alias cbs_start_phase5 start_phase5
def start_phase5
for actor in $game_party.actors
return if @spriteset.battler(actor).moving
end
for actor in $game_party.actors
unless actor.dead?
@spriteset.battler(actor).pose = 9
@spriteset.battler(actor).freeze
end
end
cbs_start_phase5
end
#--------------------------------------------------------------------------
# * Change Arrow Viewport
#--------------------------------------------------------------------------
alias cbs_start_enemy_select start_enemy_select
def start_enemy_select
cbs_start_enemy_select
@enemy_arrow.dispose
@enemy_arrow = Arrow_Enemy.new(@spriteset.viewport2)
@enemy_arrow.help_window = @help_window
end
end
#==============================================================================
# ** Spriteset_Battle
#==============================================================================
class Spriteset_Battle
#--------------------------------------------------------------------------
# * Change Enemy Viewport
#--------------------------------------------------------------------------
alias cbs_initialize initialize
def initialize
cbs_initialize
@enemy_sprites = []
for enemy in $game_troop.enemies.reverse
@enemy_sprites.push(Sprite_Battler.new(@viewport2, enemy))
end
end
#--------------------------------------------------------------------------
# * Find Sprite From Battler Handle
#--------------------------------------------------------------------------
def battler(handle)
for sprite in @actor_sprites + @enemy_sprites
return sprite if sprite.battler == handle
end
return false
end
end
#==============================================================================
# ** Arrow_Base
#==============================================================================
class Arrow_Base < Sprite
#--------------------------------------------------------------------------
# * Reposition Arrows
#--------------------------------------------------------------------------
alias cbs_initialize initialize
def initialize(viewport)
cbs_initialize(viewport)
self.ox = 14 # 32
self.oy = 10 # 40
end
end |
|
Eldrao ~ PakuPaku ~ Winged Light ~ Ruin ~ Ma galerie ~ LTDAD ~ Don de graphismes plateforme 2D |
Ninten123 -
posté le 03/12/2016 à 11:29:46 (7 messages postés)
| | merci Verehn et tu as le script pour avoir les petite case a la place des l'afichage en ba aussi ?
|
Verehn -
posté le 03/12/2016 à 12:10:18 (9058 messages postés)
- | Vhehrhehn | Peut-être celui-là:
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
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
| module Momo_IconCommand
# Icones
ATTACK_ICON_NAME = "AttaqueC" # Attaque
SKILL_ICON_NAME = "SkillC" # Compétence
GUARD_ICON_NAME = "DéfenseC" # Défense
ITEM_ICON_NAME = "ObjetC" # Objets
# Alignement horizontal
X_PLUS = -40
# Alignement vertical
Y_PLUS = -180
# Type de sélection
# 0 : Flasher les icônes 1 : Zoomer et dézoomer les icônes
SELECT_TYPE = 1
# Couleur du flash
FLASH_COLOR = Color.new(255, 255, 255, 128)
# Durée du flash
FLASH_DURATION = 10
# Intervalle entre 2 flashs
FLASH_INTERVAL = 20
# Afficher nom des commandes
COM_NAME_DROW = true
# Déplacer le nom des commandes
COM_NAME_MOVE = true
# Nom des commandes
ATTACK_NAME = "??" # Attaquer
SKILL_NAME = "???" # Compétence
GUARD_NAME = "??" # Défense
ITEM_NAME = "????" # Objet
# Couleur de la police
COM_NAME_COLOR = Color.new(255, 255, 255, 255)
# Alignement des noms de commande
COM_NAME_X_PLUS = 0
COM_NAME_Y_PLUS = 0
end
class Window_CommandIcon < Window_Selectable
attr_accessor :last_index
#--------------------------------------------------------------------------
# ? ?????????
#--------------------------------------------------------------------------
def initialize(x, y, commands)
super(x, y, 32, 32)
# ??????????????????????????????????
self.windowskin = RPG::Cache.windowskin("")
@item_max = commands.size
@commands = commands
@column_max = commands.size
@index = 0
@last_index = nil
@name_sprite = nil
@sprite = []
refresh
end
def dispose
super
for sprite in @sprite
sprite.dispose unless sprite.nil?
end
@name_sprite.dispose unless @name_sprite.nil?
end
#--------------------------------------------------------------------------
# ? ??????
#--------------------------------------------------------------------------
def refresh
@name_sprite.dispose unless @name_sprite.nil?
for sprite in @sprite
sprite.dispose unless sprite.nil?
end
@name_sprite = nil
draw_com_name if Momo_IconCommand::COM_NAME_DROW
@sprite = []
for i in 0...@item_max
draw_item(i)
end
end
#--------------------------------------------------------------------------
# ? ?????
#--------------------------------------------------------------------------
def draw_item(index)
@sprite[index] = Sprite_Icon.new(nil, @commands[index])
@sprite[index].z = self.z + 1
end
def draw_com_name
@name_sprite = Sprite_Comm_Name.new(nil, get_com_name)
end
# ??
def update
super
icon_update
com_name_update if Momo_IconCommand::COM_NAME_DROW
if move_index?
@last_index = self.index
end
end
# ???????
def icon_update
for i in 0...@sprite.size
@sprite[i].active = (self.index == i)
@sprite[i].x = self.x + i * 24
@sprite[i].y = self.y + 0
@sprite[i].z = (self.index == i) ? self.z + 2 : self.z + 1
@sprite[i].visible = self.visible
@sprite[i].update
end
end
# ??????????
def com_name_update
if move_index?
@name_sprite.name = get_com_name
end
@name_sprite.x = self.x - 12 + Momo_IconCommand::COM_NAME_X_PLUS
@name_sprite.y = self.y - 40 + Momo_IconCommand::COM_NAME_Y_PLUS
@name_sprite.z = self.z + 1
@name_sprite.active = self.active
@name_sprite.visible = self.visible
@name_sprite.update
end
def get_com_name
make_name_set if @name_set.nil?
name = @name_set[self.index]
name = "" if name.nil?
return name
end
def make_name_set
@name_set = []
@name_set[0] = Momo_IconCommand::ATTACK_NAME
@name_set[1] = Momo_IconCommand::SKILL_NAME
@name_set[2] = Momo_IconCommand::GUARD_NAME
@name_set[3] = Momo_IconCommand::ITEM_NAME
end
def move_index?
return self.index != @last_index
end
def need_reset
@name_sprite.need_reset = true if Momo_IconCommand::COM_NAME_DROW
end
end
# ??????????
class Sprite_Icon < Sprite
attr_accessor :active
attr_accessor :icon_name
#--------------------------------------------------------------------------
# ? ?????????
#--------------------------------------------------------------------------
def initialize(viewport, icon_name)
super(viewport)
@icon_name = icon_name
@last_icon = @icon_name
@count = 0
self.bitmap = RPG::Cache.icon(@icon_name)
self.ox = self.bitmap.width / 2
self.oy = self.bitmap.height / 2
@active = false
end
#--------------------------------------------------------------------------
# ? ??
#--------------------------------------------------------------------------
def dispose
if self.bitmap != nil
self.bitmap.dispose
end
super
end
#--------------------------------------------------------------------------
# ? ??????
#--------------------------------------------------------------------------
def update
super
if @icon_name != @last_icon
@last_icon = @icon_name
self.bitmap = RPG::Cache.icon(@icon_name)
end
if @active
@count += 1
case Momo_IconCommand::SELECT_TYPE
when 0
icon_flash
when 1
icon_zoom
end
@count = 0 if @count == 20
else
icon_reset
end
end
def icon_flash
if @count % Momo_IconCommand::FLASH_INTERVAL == 0 or @count == 1
self.flash(Momo_IconCommand::FLASH_COLOR, Momo_IconCommand::FLASH_DURATION)
end
end
def icon_zoom
case @count
when 1..10
zoom = 1.0 + @count / 10.0
when 11..20
zoom = 2.0 - (@count - 10) / 10.0
end
self.zoom_x = zoom
self.zoom_y = zoom
end
def icon_reset
@count = 0
self.zoom_x = 1.0
self.zoom_y = 1.0
end
end
# ?????????????
class Sprite_Comm_Name < Sprite
attr_accessor :active
attr_accessor :name
attr_accessor :need_reset
#--------------------------------------------------------------------------
# ? ?????????
#--------------------------------------------------------------------------
def initialize(viewport, name)
super(viewport)
@name = name
@last_name = nil
@count = 0
@x_plus = 0
@opa_plus = 0
@need_reset = false
@active = false
self.bitmap = Bitmap.new(160, 32)
end
#--------------------------------------------------------------------------
# ? ??
#--------------------------------------------------------------------------
def dispose
if self.bitmap != nil
self.bitmap.dispose
end
super
end
#--------------------------------------------------------------------------
# ? ??????
#--------------------------------------------------------------------------
def update
super
if @active
if need_reset?
@need_reset = false
@last_name = @name
text_reset
end
move_text if Momo_IconCommand::COM_NAME_MOVE
end
end
def move_text
@count += 1
@x_plus = [@count * 8, 80].min
self.x = self.x - 80 + @x_plus
self.opacity = @count * 25
end
def text_reset
@count = 0
@x_plus = 0
self.bitmap.clear
self.bitmap.font.color = Momo_IconCommand::COM_NAME_COLOR
self.bitmap.draw_text(0, 0, 160, 32, @name)
end
def need_reset?
return (@name != @last_name or @need_reset)
end
end
class Scene_Battle
#--------------------------------------------------------------------------
# ? ???????????
#--------------------------------------------------------------------------
alias scene_battle_icon_command_start_phase1 start_phase1
def start_phase1
com1 = Momo_IconCommand::ATTACK_ICON_NAME
com2 = Momo_IconCommand::SKILL_ICON_NAME
com3 = Momo_IconCommand::GUARD_ICON_NAME
com4 = Momo_IconCommand::ITEM_ICON_NAME
@actor_command_window = Window_CommandIcon.new(0, 0, [com1, com2, com3, com4])
@actor_command_window.y = 160
@actor_command_window.back_opacity = 160
@actor_command_window.active = false
@actor_command_window.visible = false
scene_battle_icon_command_start_phase1
end
#--------------------------------------------------------------------------
# ? ????????????????????
#--------------------------------------------------------------------------
alias scene_battle_icon_command_phase3_setup_command_window phase3_setup_command_window
def phase3_setup_command_window
scene_battle_icon_command_phase3_setup_command_window
# ???????????????????
@actor_command_window.x = command_window_actor_x(@actor_index)
@actor_command_window.y = command_window_actor_y(@actor_index)
@actor_command_window.need_reset
end
def command_window_actor_x(index)
$game_party.actors[index].screen_x + Momo_IconCommand::X_PLUS
end
def command_window_actor_y(index)
$game_party.actors[index].screen_y + Momo_IconCommand::Y_PLUS
end
end |
|
Eldrao ~ PakuPaku ~ Winged Light ~ Ruin ~ Ma galerie ~ LTDAD ~ Don de graphismes plateforme 2D |
Konnie -
posté le 03/12/2016 à 12:14:17 (3982 messages postés)
| | Je tenais juste à dire que ton jeu à l'air super yoyo
|
Ninten123 -
posté le 03/12/2016 à 13:09:22 (7 messages postés)
| | merci Verehn maintenant il ne me manque plus que les icone et se sera parfait
|
Ninten123 -
posté le 08/02/2017 à 10:56:54 (7 messages postés)
| | aurais-tu le script pour enlever l'écran titre ? Merci d'avance.
|
Verehn -
posté le 08/02/2017 à 18:09:32 (9058 messages postés)
- | Vhehrhehn | Euh, j'espère que tu vas pas revenir tous les 2 mois pour une demande supplémentaire., hein.
Il n'y a pas de script dans sa liste qui semble avoir un rapport avec l'écran titre. Il a peut-être modifié le Scene Title:
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
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
| #==============================================================================
# ■ Scene_Title
#------------------------------------------------------------------------------
# タイトル画面の処理を行うクラスです。
#==============================================================================
class Scene_Title
#--------------------------------------------------------------------------
# ● メイン処理
#--------------------------------------------------------------------------
def main
# 戦闘テストの場合
if $BTEST
battle_test
return
end
# データベースをロード
$data_actors = load_data("Data/Actors.rxdata")
$data_classes = load_data("Data/Classes.rxdata")
$data_skills = load_data("Data/Skills.rxdata")
$data_items = load_data("Data/Items.rxdata")
$data_weapons = load_data("Data/Weapons.rxdata")
$data_armors = load_data("Data/Armors.rxdata")
$data_enemies = load_data("Data/Enemies.rxdata")
$data_troops = load_data("Data/Troops.rxdata")
$data_states = load_data("Data/States.rxdata")
$data_animations = load_data("Data/Animations.rxdata")
$data_tilesets = load_data("Data/Tilesets.rxdata")
$data_common_events = load_data("Data/CommonEvents.rxdata")
$data_system = load_data("Data/System.rxdata")
# システムオブジェクトを作成
$game_system = Game_System.new
# タイトルグラフィックを作成
@sprite = Sprite.new
@sprite.bitmap = RPG::Cache.title("TitreML1")
# コマンドウィンドウを作成
s1 = "Nouvelle partie"
s2 = "Charger une partie"
s3 = "Quitter"
@command_window = Window_Command.new(192, [s1, s2, s3])
@command_window.back_opacity = 160
@command_window.x = 2000 - @command_window.width / 2
@command_window.y = 288
# コンティニュー有効判定
# セーブファイルがひとつでも存在するかどうかを調べる
# 有効なら @continue_enabled を true、無効なら false にする
@continue_enabled = false
for i in 0..3
if FileTest.exist?("Sauvegarde#{i+1}.rxdata")
@continue_enabled = true
end
end
# コンティニューが有効な場合、カーソルをコンティニューに合わせる
# 無効な場合、コンティニューの文字をグレー表示にする
if @continue_enabled
@command_window.index = 1
else
@command_window.disable_item(1)
end
# タイトル BGM を演奏
$game_system.bgm_play($data_system.title_bgm)
# ME、BGS の演奏を停止
Audio.me_stop
Audio.bgs_stop
# トランジション実行
Graphics.transition
# メインループ
loop do
# ゲーム画面を更新
Graphics.update
# 入力情報を更新
Input.update
# フレーム更新
update
# 画面が切り替わったらループを中断
if $scene != self
break
end
end
# トランジション準備
Graphics.freeze
# コマンドウィンドウを解放
@command_window.dispose
# タイトルグラフィックを解放
@sprite.bitmap.dispose
@sprite.dispose
end
#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
def update
# コマンドウィンドウを更新
@command_window.update
# C ボタンが押された場合
# コマンドウィンドウのカーソル位置で分岐
case @command_window.index
when 0 # ニューゲーム
@sprite.bitmap = RPG::Cache.title("TitreML1")
if Input.trigger?(Input::C)
command_new_game
end
when 1 # コンティニュー
@sprite.bitmap = RPG::Cache.title("TitreML2")
if Input.trigger?(Input::C)
command_continue
end
when 2 # シャットダウン
@sprite.bitmap = RPG::Cache.title("TitreML3")
if Input.trigger?(Input::C)
command_shutdown
end
end
end
#--------------------------------------------------------------------------
# ● コマンド : ニューゲーム
#--------------------------------------------------------------------------
def command_new_game
# 決定 SE を演奏
$game_system.se_play($data_system.decision_se)
# BGM を停止
Audio.bgm_stop
# プレイ時間計測用のフレームカウントをリセット
Graphics.frame_count = 0
# 各種ゲームオブジェクトを作成
$game_temp = Game_Temp.new
$game_system = Game_System.new
$game_switches = Game_Switches.new
$game_variables = Game_Variables.new
$game_self_switches = Game_SelfSwitches.new
$game_screen = Game_Screen.new
$game_actors = Game_Actors.new
$game_party = Game_Party.new
$game_troop = Game_Troop.new
$game_map = Game_Map.new
$game_player = Game_Player.new
# 初期パーティをセットアップ
$game_party.setup_starting_members
# 初期位置のマップをセットアップ
$game_map.setup($data_system.start_map_id)
# プレイヤーを初期位置に移動
$game_player.moveto($data_system.start_x, $data_system.start_y)
# プレイヤーをリフレッシュ
$game_player.refresh
# マップに設定されている BGM と BGS の自動切り替えを実行
$game_map.autoplay
# マップを更新 (並列イベント実行)
$game_map.update
# マップ画面に切り替え
$scene = Scene_Map.new
end
#--------------------------------------------------------------------------
# ● コマンド : コンティニュー
#--------------------------------------------------------------------------
def command_continue
# コンティニューが無効の場合
unless @continue_enabled
# ブザー SE を演奏
$game_system.se_play($data_system.buzzer_se)
return
end
# 決定 SE を演奏
$game_system.se_play($data_system.decision_se)
# ロード画面に切り替え
$scene = Scene_Load.new
end
#--------------------------------------------------------------------------
# ● コマンド : シャットダウン
#--------------------------------------------------------------------------
def command_shutdown
# 決定 SE を演奏
$game_system.se_play($data_system.decision_se)
# BGM、BGS、ME をフェードアウト
Audio.bgm_fade(800)
Audio.bgs_fade(800)
Audio.me_fade(800)
# シャットダウン
$scene = nil
end
#--------------------------------------------------------------------------
# ● 戦闘テスト
#--------------------------------------------------------------------------
def battle_test
# データベース (戦闘テスト用) をロード
$data_actors = load_data("Data/BT_Actors.rxdata")
$data_classes = load_data("Data/BT_Classes.rxdata")
$data_skills = load_data("Data/BT_Skills.rxdata")
$data_items = load_data("Data/BT_Items.rxdata")
$data_weapons = load_data("Data/BT_Weapons.rxdata")
$data_armors = load_data("Data/BT_Armors.rxdata")
$data_enemies = load_data("Data/BT_Enemies.rxdata")
$data_troops = load_data("Data/BT_Troops.rxdata")
$data_states = load_data("Data/BT_States.rxdata")
$data_animations = load_data("Data/BT_Animations.rxdata")
$data_tilesets = load_data("Data/BT_Tilesets.rxdata")
$data_common_events = load_data("Data/BT_CommonEvents.rxdata")
$data_system = load_data("Data/BT_System.rxdata")
# プレイ時間計測用のフレームカウントをリセット
Graphics.frame_count = 0
# 各種ゲームオブジェクトを作成
$game_temp = Game_Temp.new
$game_system = Game_System.new
$game_switches = Game_Switches.new
$game_variables = Game_Variables.new
$game_self_switches = Game_SelfSwitches.new
$game_screen = Game_Screen.new
$game_actors = Game_Actors.new
$game_party = Game_Party.new
$game_troop = Game_Troop.new
$game_map = Game_Map.new
$game_player = Game_Player.new
# 戦闘テスト用のパーティをセットアップ
$game_party.setup_battle_test_members
# トループ ID、逃走可能フラグ、バトルバックを設定
$game_temp.battle_troop_id = $data_system.test_troop_id
$game_temp.battle_can_escape = true
$game_map.battleback_name = $data_system.battleback_name
# バトル開始 SE を演奏
$game_system.se_play($data_system.battle_start_se)
# バトル BGM を演奏
$game_system.bgm_play($game_system.battle_bgm)
# バトル画面に切り替え
$scene = Scene_Battle.new
end
end |
Sinon tu peux simplement rechercher sur Google "rpg maker xp skip title" ou "rpg maker xp sauter l'écran titre" des trucs de ce genre.
|
Eldrao ~ PakuPaku ~ Winged Light ~ Ruin ~ Ma galerie ~ LTDAD ~ Don de graphismes plateforme 2D | Index du forum > Jeux en développement > [XP] Mario & Luigi : A Yoshi's Story
|
|
|