[RPG-MAKER.FR] Oniromancie: tout l'univers de RPG Maker en français - Les forums - [RPG Maker VX] Brouillard sur une map

Oniromancie: Les forums - [RPG Maker VX] Brouillard sur une map


Comment ça marche?

Aëdemphia
Par Sylvanor

Fighting Robots Quest
Par Boulon

Forstale
Par Ødd Clock

Geex
Par roys

Inexistence
Par Falco

La Légende d'Ibabou
Par Zaitan

Lije
Par Gaetz

Sarcia
Par Kaëlar

Super Mario RPG - Lost Souls
Par Omegabowser

News: Le samedi, c'est best of des (...) / News: Les Alex d'Or 2019 sont lancés ! / Jeux: La lettre à Elise / News: Des jeux, des démos, des (...) / News: Des jeux, des démos, des (...) /

Chat  (78 connectés)

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

101 connectés actuellement

9840949 visiteurs
depuis l'ouverture

1021 visiteurs
aujourd'hui

Groupe Facebook

Barre de séparation

Partenaires






TOP
GAMEMAKING


Les 5 plus
visités

Akademiya RPG Maker

Alex d'Or

Blog of Chaos17

BloGecko

ConsoleFun

Au hasard

ConsoleFun

Blog of Chaos17

RPG Maker Détente

Les deux derniers

Zarok

Akademiya RPG Maker

Nos autres partenaires

Devenir
partenaire


Barre de séparation

Un site du réseau
War Paradise

Annuaires référenceurs




forums

Index du forum > Entraide > [RPG Maker VX] Brouillard sur une map


Kirito-02 - posté le 29/03/2018 à 07:27:59. (12 messages postés)

Domaine concerné: Script et Event
Logiciel utilisé: RPG Maker VX
Bonjour à tous,

Alors voilà, je souhaiterais mettre du brouillard sur l'une de mes map, mais sans succès jusqu'à
présent je viens chercher de l'aide.

J'ai tenté d'utiliser ce script également, mais je n'y arrive pas non plus, si quelqu'un pouvais m'apporter son
aide ce serais super :)

Voici le script en question :

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
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
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
=begin =========================================================================
Dekita's                                                                   v1.2
                                    ★ FOG™ ★
 
================================================================================
 Script Information:
====================
 This script allows for upto 3 different fogs to be displayed on the map and in
 battle.
 I have limited it to 3 for game performance sake, also 3 is more than
 enough imo...
 
 Features :~
 Upto 3 seperate fogs,(per map)
 multiple options for each fog,
 e.g color / scroll speed / opacity / z value (importance)
 
 Note : if z value is lower than 0 it will be shown under the map like a parallax
 
================================================================================
 ★☆★☆★☆★☆★☆★☆★☆★ TERMS AND CONDITIONS: ☆★☆★☆★☆★☆★☆★☆★☆★☆
================================================================================
 1. You must give credit to "Dekita"
 2. You are NOT allowed to repost this script.(or modified versions)
 3. You are NOT allowed to convert this script.(into other game engines e.g RGSS2)
 4. You are NOT allowed to use this script for Commercial games.
 5. ENJOY!
 
"FINE PRINT"
By using this script you hereby agree to the above terms and conditions,
 if any violation of the above terms occurs "legal action" may be taken.
Not understanding the above terms and conditions does NOT mean that
 they do not apply to you.
If you wish to discuss the terms and conditions in further detail you can
contact me at http://dekitarpg.wordpress.com/ or DekitaRPG@gmail.com
 
================================================================================
 History:
=========
 D /M /Y
 14/o1/2o13 - improved efficiency,
 13/o1/2o13 - fixed bug with $BTEST,
 12/o1/2o13 - finished,
 ??/o1/2o13 - started,
 
================================================================================
 Known Bugs:
============
 N/A
 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 If a new bug is found please contact me at
 http://dekitarpg.wordpress.com/
 
================================================================================
 INSTRUCTIONS:
==============
 Place this script UNDER "▼ Materials" and ABOVE "▼ Main" in your script editor.
 
================================================================================
 Credit and Thanks to :
=======================
 Hyde - for asking me to write this ^_^
 
================================================================================
 NOTETAGS: (map noteboxes)
==========
 
 <fog id: NAME>
 NAME = the name of the fog file (must be in parallax folder)
 
 <id move: x, y>
 x / y = how mych the fog moves per frame update
 
 <id opac: opacity>
 opacity = the transparency of the graphic
 
 <id col: red,green,blue,alpha>
 reg / green / blue / aplha = the color / visibility values
 
 <id z: z_value>
 z_value = the importance of the fog. below 0 will show the image behind the map.
 
 id can be : a / b / c
 e.g
 <fog a: FOG_NAME>
 <a move: 1, 1>
 <a opac: 150>
 <a z: 50>
 
=end #=========================================================================#
module FOG_By_Dekita
 
  Default_Fog_A_z = 51
  Default_Fog_B_z = 52
  Default_Fog_C_z = 53
 
  Show_In_Battle = true
                            #####################
                            # CUSTOMISATION END #
end                         #####################
#☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★#
#                                                                               #
#                       http://dekitarpg.wordpress.com/                         #
#                                                                               #
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆#
#===============================================================================#
# ARE YOU MODIFYING BEYOND THIS POINT? \.\.                                     #
# YES?\.\.                                                                      #
# OMG, REALLY? \|                                                               #
# WELL SLAP MY FACE AND CALL ME A DRAGONITE.\..\..                              #
# I REALLY DIDN'T THINK YOU HAD IT IN YOU.\..\..                                #
#===============================================================================#
 
$imported = {} if $imported.nil?
$imported[:Dekita_FOG] = true
 
#===============================================================================#
class RPG::Map
#===============================================================================#
 
  attr_reader(:can_fog)
  attr_reader(:fog_a_name)
  attr_reader(:fog_a_move)
  attr_reader(:fog_a_opac)
  attr_reader(:fog_a_z)
  attr_reader(:fog_a_color)
  attr_reader(:fog_b_name)
  attr_reader(:fog_b_move)
  attr_reader(:fog_b_opac)
  attr_reader(:fog_b_z)
  attr_reader(:fog_b_color)
  attr_reader(:fog_c_name)
  attr_reader(:fog_c_move)
  attr_reader(:fog_c_opac)
  attr_reader(:fog_c_z)
  attr_reader(:fog_c_color)
 
  def get_fog_info
    @can_fog = false
    @fog_a_name = ""
    @fog_a_move = [0, 0]
    @fog_a_opac = 255
    @fog_a_z = FOG_By_Dekita::Default_Fog_A_z
    @fog_a_color = nil
    @fog_b_name = ""
    @fog_b_move = [0, 0]
    @fog_b_opac = 255
    @fog_b_z = FOG_By_Dekita::Default_Fog_B_z
    @fog_b_color = nil
    @fog_c_name = ""
    @fog_c_move = [0, 0]
    @fog_c_opac = 255
    @fog_c_z = FOG_By_Dekita::Default_Fog_C_z
    @fog_c_color = nil
    self.note.split(/[\r\n]+/).each { |line| case line
    when /<fog a: (.*)/i ; @can_fog = true ; @fog_a_name = $1.to_s
    when /<a move: (.*), (.*)>/i ; @fog_a_move = [$1.to_i, $2.to_i]
    when /<a opac: (.*)/i ; @fog_a_opac = $1.to_i
    when /<a z: (.*)/i ; @fog_a_z = $1.to_i
    when /<a col: (.*),(.*),(.*),(.*)>/im
      @fog_a_color = Color.new($1.to_i,$2.to_i,$3.to_i,$4.to_i)
    when /<fog b: (.*)/i ; @can_fog = true ; @fog_b_name = $1.to_s
    when /<b move: (.*), (.*)>/i ; @fog_b_move = [$1.to_i, $2.to_i]
    when /<b opac: (.*)/i ; @fog_b_opac = $1.to_i
    when /<b z: (.*)/i ; @fog_b_z = $1.to_i
    when /<b col: (.*),(.*),(.*),(.*)>/im
      @fog_b_color = Color.new($1.to_i,$2.to_i,$3.to_i,$4.to_i)
    when /<fog c: (.*)/i ; @can_fog = true ; @fog_c_name = $1.to_s
    when /<c move: (.*), (.*)>/i ; @fog_c_move = [$1.to_i, $2.to_i]
    when /<c opac: (.*)/i ; @fog_c_opac = $1.to_i
    when /<c z: (.*)/i ; @fog_c_z = $1.to_i
    when /<c col: (.*),(.*),(.*),(.*)>/im
      @fog_c_color = Color.new($1.to_i,$2.to_i,$3.to_i,$4.to_i)
    end ; } # self.note.split
  end  
 
end
 
#===============================================================================#
class Game_Map
#===============================================================================#
 
  alias :fogsys         :setup
  alias :sdp_for_fog    :set_display_pos
  alias :s_d_for_fog    :scroll_down
  alias :s_l_for_fog    :scroll_left
  alias :s_r_for_fog    :scroll_right
  alias :s_u_for_fog    :scroll_up
  alias :update_for_fog :update_parallax
 
  attr_reader(:has_fog)
  attr_reader(:fog_a_name)
  attr_reader(:fog_a_move)
  attr_reader(:fog_a_opacity)
  attr_reader(:fog_a_z)
  attr_reader(:fog_a_color)
  attr_reader(:fog_b_name)
  attr_reader(:fog_b_move)
  attr_reader(:fog_b_opacity)
  attr_reader(:fog_b_z)
  attr_reader(:fog_b_color)
  attr_reader(:fog_c_name)
  attr_reader(:fog_c_move)
  attr_reader(:fog_c_opacity)
  attr_reader(:fog_c_z)
  attr_reader(:fog_c_color)
 
  def setup(map_id)
    fogsys(map_id)
    @map.get_fog_info
    @has_fog = @map.can_fog
    setup_fog_a
    setup_fog_b
    setup_fog_c
  end
 
  def setup_fog_a
    @fog_a_name = @map.fog_a_name
    @fog_a_move = @map.fog_a_move
    @fog_a_opacity = @map.fog_a_opac
    @fog_a_z = @map.fog_a_z
    @fog_a_color = @map.fog_a_color
    @fog_a_loop_x = @fog_a_move[0] != 0 ? true : false
    @fog_a_loop_y = @fog_a_move[1] != 0 ? true : false
    @fog_a_sx = @fog_a_move[0]
    @fog_a_sy = @fog_a_move[1]
    @fog_a_x = 0
    @fog_a_y = 0
  end
 
  def setup_fog_b
    @fog_b_name = @map.fog_b_name
    @fog_b_move = @map.fog_b_move
    @fog_b_opacity = @map.fog_b_opac
    @fog_b_z = @map.fog_b_z
    @fog_b_color = @map.fog_b_color
    @fog_b_loop_x = @fog_b_move[0] != 0 ? true : false
    @fog_b_loop_y = @fog_b_move[1] != 0 ? true : false
    @fog_b_sx = @fog_b_move[0]
    @fog_b_sy = @fog_b_move[1]
    @fog_b_x = 0
    @fog_b_y = 0
  end
 
  def setup_fog_c
    @fog_c_name = @map.fog_c_name
    @fog_c_move = @map.fog_c_move
    @fog_c_opacity = @map.fog_c_opac
    @fog_c_z = @map.fog_c_z
    @fog_c_color = @map.fog_c_color
    @fog_c_loop_x = @fog_c_move[0] != 0 ? true : false
    @fog_c_loop_y = @fog_c_move[1] != 0 ? true : false
    @fog_c_sx = @fog_c_move[0]
    @fog_c_sy = @fog_c_move[1]
    @fog_c_x = 0
    @fog_c_y = 0
  end
 
  def set_display_pos(x, y)
    sdp_for_fog(x, y)
    @fog_a_x = x
    @fog_a_y = y
    @fog_b_x = x
    @fog_b_y = y
    @fog_c_x = x
    @fog_c_y = y
  end
 
  def scroll_down(distance)
    last_y = @display_y
    s_d_for_fog(distance)
    fog_scroll_down(distance, last_y)
  end
 
  def fog_scroll_down(distance, last_y)
    value = loop_vertical? ? distance : @display_y - last_y
    @fog_a_y += value ; @fog_b_y += value ; @fog_c_y += value
  end
 
  def scroll_left(distance)
    last_x = @display_x
    s_l_for_fog(distance)
    fog_scroll_left(distance, last_x)
  end
 
  def fog_scroll_left(distance, last_x)
    value = loop_horizontal? ? -distance : @display_x - last_x
    @fog_a_x += value ; @fog_b_x += value ; @fog_c_x += value
  end
 
  def scroll_right(distance)
    last_x = @display_x
    s_r_for_fog(distance)
    fog_scroll_right(distance, last_x)
  end
 
  def fog_scroll_right(distance, last_x)
    value = loop_horizontal? ? distance : @display_x - last_x
    @fog_a_x += value ; @fog_b_x += value ; @fog_c_x += value
  end
 
  def scroll_up(distance)
    last_y = @display_y
    s_u_for_fog(distance)
    fog_scroll_down(distance, last_y)
  end
 
  def fog_scroll_down(distance, last_y)
    value = loop_vertical? ? -distance : @display_y - last_y
    @fog_a_y += value ; @fog_b_y += value ; @fog_c_y += value
  end
 
  def update_parallax
    update_for_fog
    update_fog
  end
 
  def update_fog
    @fog_a_x += @fog_a_sx / 128.0 if @fog_a_loop_x
    @fog_a_y += @fog_a_sy / 128.0 if @fog_a_loop_y
    @fog_b_x += @fog_b_sx / 128.0 if @fog_b_loop_x
    @fog_b_y += @fog_b_sy / 128.0 if @fog_b_loop_y
    @fog_c_x += @fog_c_sx / 128.0 if @fog_c_loop_x
    @fog_c_y += @fog_c_sy / 128.0 if @fog_c_loop_y
  end
 
  def fog_a_x
    @fog_a_x
  end
 
  def fog_a_y
    @fog_a_y
  end
 
  def fog_b_x
    @fog_b_x
  end
 
  def fog_b_y
    @fog_b_y
  end
 
  def fog_c_x
    @fog_c_x
  end
 
  def fog_c_y
    @fog_c_y
  end
 
end
 
#==============================================================================
class Plane_FOG < Plane
#==============================================================================
 
  def initialize(fog_id = "", fog_type)
    return unless fog_id != ""
    return if $BTEST
    super(nil)
    self.bitmap = Cache.parallax(fog_id)
    @fog_type = fog_type
    initialize_values
    update
  end  
 
  def initialize_values
    case @fog_type
    when :type_a
      self.z = $game_map.fog_a_z
      self.opacity = $game_map.fog_a_opacity  
      self.color = $game_map.fog_a_color if $game_map.fog_a_color != nil
    when :type_b
      self.z = $game_map.fog_b_z
      self.opacity = $game_map.fog_b_opacity
      self.color = $game_map.fog_b_color if $game_map.fog_b_color != nil
    when :type_c
      self.z = $game_map.fog_c_z
      self.opacity = $game_map.fog_c_opacity      
      self.color = $game_map.fog_c_color if $game_map.fog_c_color != nil
    end
  end
 
  def get_position_update
    case @fog_type
    when :type_a
      self.ox = $game_map.fog_a_x * 32 + $game_map.fog_a_move[0]
      self.oy = $game_map.fog_a_y * 32 + $game_map.fog_a_move[1]
    when :type_b
      self.ox = $game_map.fog_b_x * 32 + $game_map.fog_b_move[0]
      self.oy = $game_map.fog_b_y * 32 + $game_map.fog_b_move[1]
    when :type_c
      self.ox = $game_map.fog_c_x * 32 + $game_map.fog_c_move[0]
      self.oy = $game_map.fog_c_y * 32 + $game_map.fog_c_move[1]
    end
  end  
 
  def update
    return if self.disposed?
    get_position_update
    case @fog_type
    when :type_a
      self.opacity = $game_map.fog_a_opacity if self.opacity != $game_map.fog_a_opacity
    when :type_b
      self.opacity = $game_map.fog_b_opacity if self.opacity != $game_map.fog_b_opacity
    when :type_c
      self.opacity = $game_map.fog_c_opacity if self.opacity != $game_map.fog_c_opacity
    end
  end  
 
#  def dispose
#    super
#  end  
 
end
 
#==============================================================================
module Planeset_FOG
#==============================================================================
 
  def create_fog
    gm = $game_map
    create_fog_a(gm)
    create_fog_b(gm)
    create_fog_c(gm)
  end
 
  def create_fog_a(gm)
    @fogg_a = Plane_FOG.new(gm.fog_a_name,:type_a)
    @fogg_a_name = gm.fog_a_name
  end
 
  def create_fog_b(gm)
    @fogg_b = Plane_FOG.new(gm.fog_b_name,:type_b)
    @fogg_b_name = gm.fog_b_name
  end
 
  def create_fog_c(gm)
    @fogg_c = Plane_FOG.new(gm.fog_c_name,:type_c)
    @fogg_c_name = gm.fog_c_name
  end
 
  def dispose_fog
    @fogg_a.dispose if @fogg_a != nil
    @fogg_b.dispose if @fogg_b != nil
    @fogg_c.dispose if @fogg_c != nil
  end
 
  def update_fog
    if @fogg_a_name != $game_map.fog_a_name
      @fogg_a.dispose if @fogg_a != nil
      create_fog_a($game_map)
    end
    if @fogg_b_name != $game_map.fog_b_name
      @fogg_b.dispose if @fogg_b != nil
      create_fog_b($game_map)
    end
    if @fogg_c_name != $game_map.fog_c_name
      @fogg_c.dispose if @fogg_c != nil
      create_fog_c($game_map)
    end
    @fogg_a.update if @fogg_a != nil
    @fogg_b.update if @fogg_b != nil
    @fogg_c.update if @fogg_c != nil
  end
 
end
 
#==============================================================================
class Spriteset_Map
#==============================================================================
 
  include Planeset_FOG
  alias :initializefogg :initialize
  alias :disposefogg    :dispose
  alias :updatefogg     :update
 
  def initialize
    create_fog
    initializefogg
  end
 
  def dispose
    disposefogg
    dispose_fog
  end
 
  def update
    updatefogg
    update_fog
  end  
 
end
 
#==============================================================================
class Spriteset_Battle
#==============================================================================
 
  include Planeset_FOG
  alias :initializefogg :initialize
  alias :disposefogg    :dispose
  alias :updatefogg     :update
 
  def initialize
    create_fog
    initializefogg if FOG_By_Dekita::Show_In_Battle
  end
 
  def dispose
    disposefogg
    dispose_fog
  end
 
  def update
    updatefogg
    update_battle_fog
  end  
 
  def update_battle_fog
    return unless FOG_By_Dekita::Show_In_Battle
    $game_map.update_fog
    update_fog
  end
 
end
 
#===============================================================================#
#                               - SCRIPT END -                                  #
#===============================================================================#
#                      http://dekitarpg.wordpress.com/                          #
#===============================================================================#


le mirudien - posté le 29/03/2018 à 09:33:54. (210 messages postés)

Difficile de savoir ce qui ne va pas, on doit tout d'abord savoir si tout ce que demande le script a été fait.

je m'excuse d'avance si mes questions peuvent sembler simplistes, mais je ne connais pas du tout ton niveau en matière de "scripts".

Je n'ai pas le logiciel sous la main en ce moment, mais d'après ce que je comprends

1- As tu bien placé ton script dans ta liste de script, sous "Materials" et au dessus de "Main" ?

2- Tu dois apparemment noter dans l'encadrer "noteboxe" de ta map, la commande <fog id: Name >

Name est le nom d'un fichier image correspondant à ton brouilllard qui doit se trouver dans le dossier "Parallax" de ton projet. Ce fichier existe t'il bien et si oui, le nom encodé dans <fog id: Name >
est-il bien identique ?

On aura déjà une bonne base si on sait que cela est fait :)

Projet Miruda http://www.rpg-maker.fr/index.php?page=forum&id=24876Démo Miruda https://le-mirudien.itch.io/miruda-les-pierres-de-ruulna


Kirito-02 - posté le 29/03/2018 à 18:00:22. (12 messages postés)

Pas de soucis, tu fais bien de poser des questions simplistes, car je n'y connais pas grand chose en script.
J'ai déjà un peu mieux compris grâce à ton message ce qu'il fallait faire.

- J'ai bien placé le script sur une nouvelle page en dessous de "Materials" et au-dessus de "Main".

La où je ne comprends pas trop, c'est la suite.

- Qu' appelles-tu la "noteboxe" ?
- Où puis-je là trouver ?
- Est-ce dans "propriété de la carte" ?

Ensuite, j'ai effectivement une image de brouillard, de bonne dimension dans le dossier "Parallaxes".
Si j'ai bien compris, il faut que dans l'encadré de la "noteboxe" j'inscrive "Fog", qui est le nom de mon image du dossier "parallaxes".


Le mirudien - posté le 29/03/2018 à 20:12:57. (210 messages postés)

Au fait, la notebox est un encadré dans les propriétés de ta map. mais elle existe dans la version VX ace et non dans le VX "simple"

Utilises-tu bien RPGmaker Vx ou est-ce RPGMAKER vx "ACE".

J'ai fais une recherche de ton script sur le net, et je l'ai retrouvé sur un forum de Rpgmaker vx Ace.

Bref si tu es sur le "simple" VX le script ne fonctionnera pas. :-/

Si tu es bien sur la version Ace alors oui, dans l'encadré Notebox des propriétés de la map, tu ajoute la ligne <fog id: Name > ou name est le nom de la map de brouillard. Tu dois l'écrire comme je l'ai mis la, en comprenant les "<" et le ">"

Projet Miruda http://www.rpg-maker.fr/index.php?page=forum&id=24876Démo Miruda https://le-mirudien.itch.io/miruda-les-pierres-de-ruulna


Kirito-02 - posté le 30/03/2018 à 00:56:42. (12 messages postés)

Ah mince, ça explique tout.
Je suis bien sur RPG Maker VX, et non VX Ace.

Du coup, serais-tu comment je pourrais réussir à mettre du brouillard sur ma map sur RPG Maker VX ?


Le mirudien - posté le 01/04/2018 à 09:32:20. (210 messages postés)

J'ai trouvé un script Fog pour VX. Bien qu'il est possible de le faire sois même en event, en affichant l'image de ton brouillard et en le déplaçant, mais le script suivant me semble plus complet. Bien que par super évident à utiliser. Pour les crédits, je l'ai trouvé sur le site suivant

http://rpgscripts.blogspot.be/2012/08/fog-effects.html


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
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
#===============================================================
# ● [VX] ◦ Multiple Fogs ◦ □
# * Use unlimited layers of fog *
#--------------------------------------------------------------
# ◦ by Woratana [woratana@hotmail.com]
# ◦ Thaiware RPG Maker Community
# ◦ Released on: 13/05/2008
# ◦ Version: 1.0
#--------------------------------------------------------------
 
#==================================================================
# ** HOW TO USE **
# * use event command 'Script...' for the any script line below~
#-----------------------------------------------------------------
#
#---------------------------------------------------------------
# ** SETUP FOG PROPERTIES & SHOW FOG **
# * You have to setup fog properties, before show fog~
#-------------------------------------------------------------
# * There are 3 ways to setup fog properties:
# >> Setup Fog [Custom]:
# $fog.name = 'image_name' # Image file name, must be in fog image path (setup path below).
# $fog.hue = (integer) # Fog's hue. 0 - 360, 0 for no hue.
# $fog.tone = [red, green, blue, gray] # Fog's tone color.
# $fog.opacity = (integer) # Fog's opacity. 0 - 255, you will not see fog in 0.
# $fog.blend = (0, 1, or 2) # Fog's blend type. 0 for Normal, 1 for Add, 2 for Subtract.
# $fog.zoom = (integer) # Fog's size (in %). 100 for normal size.
# $fog.sx = (+ or - integer) # Fog's horizontal move speed.
# $fog.sy = (+ or - integer) # Fog's vertical move speed.
#
# >> Setup Fog [From Preset]:
# (You can setup fog presets, in part FOG PRESET SETUP below)
# $fog.load_preset(preset_id)
#
# >> Setup Fog [From Fog that showing]:
# $fog.load_fog(fog_id)
#
#--------------------------------------------------------------
# ** SHOW FOG **
#-------------------------------------------------------------
# After setup the fog, show fog by call script:
# $fog.show(fog_id)
#
# In case you want to show new fog on same ox, oy, tone as old fog. Call Script:
# $fog.show(old_fog_id, false)
#
# * fog_id: the ID number you want to put this fog in.
# (It can be any positive number or zero)
#
# After you show fog, the fog properties you've set will replace with default setting.
# (You can setup default setting, in part FOG DEFAULT SETTING below)
#
#--------------------------------------------------------------
# ** DELETE FOG **
#-------------------------------------------------------------
# You can delete 1 or more fog(s) at a time by call script:
# $fog.delete(fog_id, fog_id, fog_id, ...)
#
#---------------------------------------------------------------
# ** OLD FOG CONTROL EVENT COMMANDS **
#-------------------------------------------------------------
# Change Fog Tone:
# $game_map.fogtone(fog_id, [red, green, blue, gray], duration)
# e.g. $game_map.fogtone(1, [100,200,-100,0], 10)
 
# Change Fog Opacity:
# $game_map.fogopac(fog_id, new_opacity, duration)
# e.g. $game_map.fogopac(2, 200, 10)
#
#---------------------------------------------------------------
# ** ADDITIONAL SETTINGS **
#-------------------------------------------------------------
# Change Fog Image's Path:
# $game_map.fog_path = 'image_path'
# e.g. $game_map.fog_path = 'Graphics/Pictures/'
 
# Turn ON/OFF [Automatically clear all fogs when transfer player]:
# $game_map.fog_reset = (true / false)
#
#===============================================================
 
#==================================================================
# START ** MULTIPLE FOG SETUP **
#==================================================================
class Game_Map
  alias wora_mulfog_gammap_ini initialize
  def initialize
    wora_mulfog_gammap_ini
  
    #==================================================================
    # ** MULTIPLE FOG SETUP ** SETTINGS
    #--------------------------------------------------------------
    @fog_path = 'Graphics/Pictures/'
    # Fog image's path
    @fog_reset = true # (true or false)
    # Automatically clear all multiple fogs when transfer player
    #==================================================================
  
    @mulfog_name = []
    @mulfog_hue = []
    @mulfog_opacity = []
    @mulfog_blend_type = []
    @mulfog_zoom = []
    @mulfog_sx = []
    @mulfog_sy = []
    @mulfog_ox = []
    @mulfog_oy = []
    @mulfog_tone = []
    @mulfog_tone_target = []
    @mulfog_tone_duration = []
    @mulfog_opacity_duration = []
    @mulfog_opacity_target = []
  end
end
class Wora_Multiple_Fog
  def set_default
    #==================================================================
    # ** MULTIPLE FOG SETUP ** FOG DEFAULT SETTING
    #--------------------------------------------------------------
    @name = ''
    @hue = 0
    @opacity = 64
    @blend = 0
    @zoom = 200
    @sx = 0
    @sy = 0
    @tone = [0,0,0,0]
    #==================================================================
  end
 
  def load_preset(preset_id)
    case preset_id
    #==================================================================
    # ** MULTIPLE FOG SETUP ** FOG PRESET SETUP
    #--------------------------------------------------------------
    when 1 # Preset ID 1
      @name = '001-Fog01'
      @hue = 0
      @tone = [100,-255,20,0]
      @opacity = 60
      @blend = 0
      @zoom = 200
      @sx = 10
      @sy = 0
    when 2 # Preset ID 2
      @name = '002-Clouds01'
      @hue = 0
      @tone = [0,0,0,0]
      @opacity = 200
      @blend = 1
      @zoom = 200
      @sx = -2
      @sy = -2
    #==================================================================
    end
  end
#==================================================================
# END ** MULTIPLE FOG SETUP **
# * Don't change anything below unless you know what you're doing.
#==================================================================
 
  attr_accessor :name, :hue, :opacity, :blend, :zoom, :sx, :sy, :tone
  def initialize
    set_default
  end
 
  def load_fog(id)
    @name = $game_map.mulfog_name[id].sub($game_map.fog_path, '')
    @hue = $game_map.mulfog_hue[id]
    @opacity = $game_map.mulfog_opacity[id]
    @blend = $game_map.mulfog_blend_type[id]
    @zoom = $game_map.mulfog_zoom[id]
    @sx = $game_map.mulfog_sx[id]
    @sy = $game_map.mulfog_sy[id]
    tn = $game_map.mulfog_tone[id]
    @tone = [tn.red, tn.blue, tn.green, tn.gray]
  end
 
  def show(id, reset_all = true)
    $game_map.mulfog_name[id] = $game_map.fog_path + @name
    $game_map.mulfog_hue[id] = @hue
    $game_map.mulfog_opacity[id] = @opacity
    $game_map.mulfog_blend_type[id] = @blend
    $game_map.mulfog_zoom[id] = @zoom
    $game_map.mulfog_sx[id] = @sx
    $game_map.mulfog_sy[id] = @sy
    $game_map.mulfog_tone[id] = Tone.new(@tone[0], @tone[1], @tone[2], @tone[3])
    if $game_map.mulfog_ox[id].nil? or reset_all
      $game_map.mulfog_ox[id] = 0
      $game_map.mulfog_oy[id] = 0
      $game_map.mulfog_tone_target[id] = Tone.new(0, 0, 0, 0)
      $game_map.mulfog_tone_duration[id] = 0
      $game_map.mulfog_opacity_duration[id] = 0
      $game_map.mulfog_opacity_target[id] = 0
    end
    set_default
  end
 
  def delete(*args)
    args.each do |id|
      $game_map.mulfog_name[id] = ''
    end
  end
end
 
class Game_Interpreter
  alias wora_mulfog_interpret_com201 command_201
  #--------------------------------------------------------------------------
  # * Transfer Player
  #--------------------------------------------------------------------------
  def command_201
    if $game_map.fog_reset
      if @params[0] == 0; id_map = @params[1]
      else; id_map = $game_variables[@params[1]]
      end
      $game_map.clear_mulfog if id_map != @map_id
    end
    wora_mulfog_interpret_com201
  end
end
 
class Game_Map
  attr_accessor :mulfog_name, :mulfog_hue, :mulfog_opacity, :mulfog_blend_type,
  :mulfog_zoom, :mulfog_sx, :mulfog_sy, :mulfog_ox, :mulfog_oy, :mulfog_tone,
  :mulfog_tone_target, :mulfog_tone_duration, :mulfog_opacity_duration,
  :mulfog_opacity_target, :fog_reset, :fog_path
 
  alias wora_mulfog_gammap_upd update
  def update
    wora_mulfog_gammap_upd
    @mulfog_name.each_index do |i|
      next if @mulfog_name[i].nil? or @mulfog_name[i] == ''
      # Manage fog scrolling
      @mulfog_ox[i] -= @mulfog_sx[i] / 8.0
      @mulfog_oy[i] -= @mulfog_sy[i] / 8.0
      # Manage change in fog color tone
      if @mulfog_tone_duration[i] >= 1
        d = @mulfog_tone_duration[i]
        target = @mulfog_tone_target[i]
        @mulfog_tone[i].red = (@mulfog_tone[i].red * (d - 1) + target.red) / d
        @mulfog_tone[i].green = (@mulfog_tone[i].green * (d - 1) + target.green) / d
        @mulfog_tone[i].blue = (@mulfog_tone[i].blue * (d - 1) + target.blue) / d
        @mulfog_tone[i].gray = (@mulfog_tone[i].gray * (d - 1) + target.gray) / d
        @mulfog_tone_duration[i] -= 1
      end
      # Manage change in fog opacity level
      if @mulfog_opacity_duration[i] >= 1
        d = @mulfog_opacity_duration[i]
        @mulfog_opacity[i] = (@mulfog_opacity[i] * (d - 1) + @mulfog_opacity_target[i]) / d
        @mulfog_opacity_duration[i] -= 1
      end
    end
  end
  #--------------------------------------------------------------------------
  # * Start Changing Fog Color Tone
  #--------------------------------------------------------------------------
  def fogtone(i, tone, duration)
    duration = duration * 2
    tone = Tone.new(tone[0], tone[1], tone[2], tone[3])
    @mulfog_tone_target[i] = tone.clone
    @mulfog_tone_duration[i] = duration
    if @mulfog_tone_duration[i] == 0
      @mulfog_tone[i] = @mulfog_tone_target[i].clone
    end
  end
  #--------------------------------------------------------------------------
  # * Start Changing Fog Opacity Level
  #--------------------------------------------------------------------------
  def fogopac(i, opacity, duration)
    duration = duration * 2
    @mulfog_opacity_target[i] = opacity * 1.0
    @mulfog_opacity_duration[i] = duration
    if @mulfog_opacity_duration[i] == 0
      @mulfog_opacity[i] = @mulfog_opacity_target[i]
    end
  end
 
  def clear_mulfog
    @mulfog_name.each_index {|i| @mulfog_name[i] = '' }
  end
end
$worale = {} if !$worale
$worale['MutipleFog'] = true
$fog = Wora_Multiple_Fog.new
class Spriteset_Map
  alias wora_mulfog_sprmap_crepal create_parallax
  alias wora_mulfog_sprmap_updpal update_parallax
  alias wora_mulfog_sprmap_dispal dispose_parallax
 
  def create_parallax
    @mulfog = []
    @mulfog_name = []
    @mulfog_hue = []
    wora_mulfog_sprmap_crepal
  end
 
  def update_parallax
    wora_mulfog_sprmap_updpal
    $game_map.mulfog_name.each_index do |i|
      next if $game_map.mulfog_name[i].nil?
      # If fog is different than current fog
      if @mulfog_name[i] != $game_map.mulfog_name[i] or @mulfog_hue[i] != $game_map.mulfog_hue[i]
        @mulfog_name[i] = $game_map.mulfog_name[i]
        @mulfog_hue[i] = $game_map.mulfog_hue[i]
        if @mulfog[i].nil?
          @mulfog[i] = Plane.new(@viewport1)
          @mulfog[i].z = 3000
        end
        if @mulfog[i].bitmap != nil
          @mulfog[i].bitmap.dispose
          @mulfog[i].bitmap = nil
        end
        if @mulfog_name[i] != ''
          @mulfog[i].bitmap = Cache.load_bitmap('', @mulfog_name[i], @mulfog_hue[i])
        end
        Graphics.frame_reset
      end
      next if @mulfog[i].bitmap.nil?
      # Update fog plane
      @mulfog[i].zoom_x = ($game_map.mulfog_zoom[i] / 100.0) if @mulfog[i].zoom_x != ($game_map.mulfog_zoom[i] / 100.0)
      @mulfog[i].zoom_y = ($game_map.mulfog_zoom[i] / 100.0) if @mulfog[i].zoom_y != ($game_map.mulfog_zoom[i] / 100.0)
      @mulfog[i].opacity = $game_map.mulfog_opacity[i] if @mulfog[i].opacity != $game_map.mulfog_opacity[i]
      @mulfog[i].blend_type = $game_map.mulfog_blend_type[i] if @mulfog[i].blend_type != $game_map.mulfog_blend_type[i]
      @mulfog[i].ox = ($game_map.display_x / 8.0 + $game_map.mulfog_ox[i]) if @mulfog[i].ox != ($game_map.display_x / 8.0 + $game_map.mulfog_ox[i])
      @mulfog[i].oy = ($game_map.display_y / 8.0 + $game_map.mulfog_oy[i]) if @mulfog[i].oy != ($game_map.display_y / 8.0 + $game_map.mulfog_oy[i])
      @mulfog[i].tone = $game_map.mulfog_tone[i] if @mulfog[i].tone != $game_map.mulfog_tone[i]
    end
  end
 
  def dispose_parallax
    @mulfog.each_index do |i|
      next if @mulfog[i].nil?
      @mulfog[i].bitmap.dispose if !@mulfog[i].bitmap.nil?
      @mulfog[i].dispose
    end
    wora_mulfog_sprmap_dispal
  end
end
#==================================================================
# [END] VX Multiple Fog by Woratana [woratana@hotmail.com]
#==================================================================



L'utilisation est expliquée au début du script, il y a la possibilité de créer son propre setting de brouillard, ou utiliser celui qui est intégré dans le script par défaut. Je te laisse regarder ça en détail. Les 80 premières lignes de codes expliquent en détail le fonctionnement. N'hésite pas à demander si un truc que tu ne comprends pas.

Par contre une fois le script installé, tu devras recommencer le jeu à zéro, si tu reprends dans tes tests une save en cours, ca risque de planter.

Projet Miruda http://www.rpg-maker.fr/index.php?page=forum&id=24876Démo Miruda https://le-mirudien.itch.io/miruda-les-pierres-de-ruulna


Kirito-02 - posté le 05/01/2019 à 22:24:34. (12 messages postés)

Bonjour et meilleurs vœux a toi !

Tout d'abord, je m'excuse de ne pas avoir répondu à ton dernier message, j'avais un peu mis de côté mon projet.
Merci pour l'aide que tu m'as déjà apporté !

Je reprends du service sur mon projet et cette satanée histoire de brouillard !

Alors, merci pour ce script que tu a trouvé pour Vx, j'aimerais bien faire apparaître du brouillard sur quelques
map de mon projet. Mais je ne sais pas du tout utiliser les scripts. Et je parle mal anglais alors ca n'aide pas.
Pour le coup, je ne dis pas non à un coup de main pour le mettre en place.

Tu dis que je devrais recommencer à zéro, on parle bien d'une save et non recommencer le
projet ? (Je pense que oui, mais je préfère être sûr).

Donc pour ce fameux srcipt de brouillard que dois-je faire ?

Index du forum > Entraide > [RPG Maker VX] Brouillard sur une map

repondre up

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:

Activité: Accueil | News | Forum | Flash-news | Chat | Commentaires | Galerie | Blogs | Screen de la semaine | Sorties | Articles perso | Palmarès | Livre d'or | Recherche
Télécharger: Programmes | Scripts | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Index jeux séparés | Top Classiques | Top Originaux | Les autres | Collection Oniro | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Jeux complets | Proposer
Rubriques: Le Wiki | Tutoriels | Guides | Gaming-Live | Tests | Making-of | Interviews | Articles perso | OST | L'Annuaire | Divers
Hébergés: Aëdemphia | Fighting Robots Quest | Forstale | Geex | Inexistence | La Légende d'Ibabou | Lije | Sarcia | Super Mario RPG - Lost Souls
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