Day.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker

RM 95
RM 2000/2003
RM XP
RM VX/VX Ace
RM MV/MZ

Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Sorties: Dread Mac Farlane - episode 8 / Sorties: Dread Mac Farlane - episode 7 / Jeux: Ce qui vit Dessous / News: Quoi de neuf sur Oniromancie (...) / Sorties: Dread Mac Farlane - episode 6 / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

322 connectés actuellement

29367727 visiteurs
depuis l'ouverture

1004170 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Planète Glutko

RPG Maker VX

Tashiroworld

Lunae - le bazar d'Emz0

Tous nos partenaires

Devenir
partenaire



forums

Index du forum > Entraide > [Scripts] Petites questions connes sur les SCRIPTS!!

Aller à la page 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

Reprise du message précédent:

Zeus81 - posté le 22/08/2010 à 21:38:17 (11071 messages postés)

❤ 0

C'est plus compliqué que ça Joke.
Il faut créer une variable dans Game_Character :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
class Game_Character
  attr_accessor :tone
  alias :joke_initialize :initialize
  def initialize
    joke_initialize
    @tone = Tone.new(0, 0, 0, 0)
  end
end


Ensuite il faut mettre à jour le ton dans la classe Sprite_Character

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
class Sprite_Character
  alias :joke_update :update
  def update
    joke_update
    self.tone = @character.tone
  end
end


Pour l'utiliser :

Portion de code : Tout sélectionner

1
2
$game_map.events[id].tone.set(r, v, b, g)
$game_player.tone.set(r, v, b, g)



Et tu peux en rajouter d'autres pareillement.

Et Mack tu déformes la page et ça fait chier !


Suite du sujet:

Mack - posté le 22/08/2010 à 22:07:30 (2288 messages postés)

❤ 0

Berka, sur VX il y a l'HUE ? Oo

Zeus, y a d'autre moyen de le dire tu sais ; ).


EDIT :
J'ai une autre question, comment faire pour avoir une image sur les bord d'une fenêtre ?
Mais vraiment sur les bords, car lorsque dans la Window_Status j'affiche le Battler de mon personnage, il manque une 20 ( 32 ? )de pixel hauteur.
Hors, je voudrait faire comme si l'image "sortait" de l'écran.
Voila ce que ça me fait :
image
J'croyais qu'il fallait modifier cette ligne :

Portion de code : Tout sélectionner

1
self.contents = Bitmap.new(width - 32, height-32)


Mais ça change rien =/.

( Je prend note de tout les commentaires, même si je n'y répond pas )


berka - posté le 22/08/2010 à 22:37:24 (493 messages postés)

❤ 0

planchant sur un script

Exactement. Là, tu as une marge de 16px (32/2px) de chaque coté de ta fenetre.
Le plus simple est de passer par un sprite, sinon tu vas etre embêté par des fleches de défilement (si contents.w&h > window.w&h). Tu mets le bmp que tu veux afficher dans un sprite avec une superposition plus haute et le tour est joué.

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


Joke - posté le 23/08/2010 à 13:33:50 (5089 messages postés)

❤ 0

Bilouteux fou

Merci, Zeus ! = ) Je vais tester ça ! ^^

biloumaster.fr, mon joli site ouèb tout bô tout frai !


TIMO - posté le 25/08/2010 à 20:05:19 (822 messages postés)

❤ 0

Support : RMXP
Question 1 :
Comment on affiche la vie du 1er héros dans la base de donnée dans un script (j'imagine que ça commence par $game_actor[1]).

Question 2 :
Je modifie le menu et j'ai fait de nouvelle fenêtre mais elles ne s'efface pas quand on ferme le menu.
Voilà le script :

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
class Scene_Menu
  def initialize(menu_index = 0)
    @menu_index = menu_index
  end
  def main
    s1 = "mission"
    s2 = "objet"
    s3 = "compétence"
    s4 = "état de votre soucoupe"
    s5 = "état de votre empire"
    s6 = "badge & titre obtenu"
    s7 = "aide"     
    s8 = "sauvegarder"
    s9 = "quitter le jeu"
    @command_window = Window_Command.new(240, [s1, s2, s3, s4, s5, s6, s7, s8, s9])
    @command_window.index = @menu_index
    @command_window.y = 80
    @command_window.x = 0 
    @empiresoucoupe_window = Window_EmpireSoucoupe.new
    @empiresoucoupe_window.x = 0 
    @empiresoucoupe_window.y = 384
    @vie_window = Window_Vie.new
    @vie_window.x = 240
    @vie_window.y = 384
    @playtime_window = Window_PlayTime.new
    @playtime_window.x = 450
    @playtime_window.y = 384
    @steps_window = Window_Steps.new
    @steps_window.x = 450
    @steps_window.y = 290
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    @command_window.dispose
    @playtime_window.dispose
    @vie_window.update
    @empiresoucoupe_window.update
    @steps_window.dispose
  end
  def update
    @command_window.update
    @playtime_window.update
    @steps_window.update
    @vie_window.update
    @empiresoucoupe_window.update
    if @command_window.active
      update_command
      return
    end
    if @status_window.active
      update_status
      return
    end
  end
  def update_command
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Map.new
      return
    end
    if Input.trigger?(Input::C)
      if $game_party.actors.size == 0 and @command_window.index < 4
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      case @command_window.index
      when 0
        $game_system.se_play($data_system.decision_se)
      when 1
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Item.new
      when 2
        $game_system.se_play($data_system.decision_se)
      when 3
        $game_system.se_play($data_system.decision_se)
      when 4
        $game_system.se_play($data_system.decision_se)
      when 5
        $game_system.se_play($data_system.decision_se)
      when 6
        $game_system.se_play($data_system.decision_se)
      when 7
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Save.new
      return
      when 8
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_End.new
    end
  end
  def command_quitter
    $game_system.se_play($data_system.decision_se)
    Audio.bgm_fade(800)
    Audio.bgs_fade(800)
    Audio.me_fade(800)
    $scene = nil
  end
  end
end
 



Je trouve pas ou est le problème.


Mack - posté le 25/08/2010 à 20:20:40 (2288 messages postés)

❤ 0

Dans ta def main tu as ça :

Portion de code : Tout sélectionner

1
2
3
4
5
    @command_window.dispose
    @playtime_window.dispose
    @vie_window.update
    @empiresoucoupe_window.update
    @steps_window.dispose


Ce qui est incorrect, remplaces les update par des dispose.
Ça devrait fonctionner.

Pour le HP's, essaie tout simplement $game_actors[1].hp.to_s


~Berka : N'y a t'il pas moyen de la modifier ? Car comme je travail assez souvent sur un projet dont la résolution est deux fois plus petite, les fenêtre doivent l'être aussi, sauf que les bords me fond perdre énormément de place.

( Je prend note de tout les commentaires, même si je n'y répond pas )


TIMO - posté le 25/08/2010 à 20:47:18 (822 messages postés)

❤ 0

Merci Mack !


berka - posté le 25/08/2010 à 21:33:44 (493 messages postés)

❤ 0

planchant sur un script

Mack:
Je ne pense pas que ce soit possible, seulement à moins de réécrire la classe Window.

Après quelques recherches, j'ai trouvé le script:
Auteur: Selwyn

tu peux régler les marges:
self.margin = 16
puis empêcher l'affichage des flèches dans:
def contents=(bmp)
et
def update_arrows

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
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
#==============================================================================
# ■ Window - Hidden RGSS Class
#------------------
#  by Selwyn
#==============================================================================
 
#==============================================================================
# ■ Bitmap
#==============================================================================
 
class Bitmap
 #--------------
 # ● erase
 #--------------
 def erase(*args)
   if args.size == 1
     rect = args[0]
   elsif args.size == 4
     rect = Rect.new(*args)
   end
   fill_rect(rect, Color.new(0, 0, 0, 0))
 end
end
 
#==============================================================================
# □ SG
#------------------
#  Selwyn's Graphics module
#==============================================================================
 
module SG
#==============================================================================
# ■ SG::Skin
#==============================================================================
 
class Skin
 #--------------
 # ● instances settings
 #--------------
 attr_reader   :margin
 attr_accessor :bitmap
 #--------------
 # ● initialize
 #--------------
 def initialize
   @bitmap = nil
   @values = {}
   @values['bg'] = Rect.new(0, 0, 128, 128)
   @values['pause0'] = Rect.new(160, 64, 16, 16)
   @values['pause1'] = Rect.new(176, 64, 16, 16)
   @values['pause2'] = Rect.new(160, 80, 16, 16)
   @values['pause3'] = Rect.new(176, 80, 16, 16)
   @values['arrow_up'] = Rect.new(152, 16, 16, 8)
   @values['arrow_down'] = Rect.new(152, 40, 16, 8)
   @values['arrow_left'] = Rect.new(144, 24, 8, 16)
   @values['arrow_right'] = Rect.new(168, 24, 8, 16)
   self.margin = 16
 end
 #--------------
 # ● width
 #--------------
 def margin=(width)
   @margin = width
   set_values
 end
 #--------------
 # ● set_values
 #--------------
 def set_values
   w = @margin
   @values['ul_corner'] = Rect.new(128, 0, w, w)
   @values['ur_corner'] = Rect.new(192-w, 0, w, w)
   @values['dl_corner'] = Rect.new(128, 64-w, w, w)
   @values['dr_corner'] = Rect.new(192-w, 64-w, w, w)
   @values['up'] = Rect.new(128+w, 0, 64-2*w, w)
   @values['down'] = Rect.new(128+w, 64-w, 64-2*w, w)
   @values['left'] = Rect.new(128, w, w, 64-2*w)
   @values['right'] = Rect.new(192-w, w, w, 64-2*w)
 end
 #--------------
 # ● []
 #--------------
 def [](value)
   return @values[value]
 end
end
 
 
#==============================================================================
# ■ SG::Cursor_Rect
#==============================================================================
 
class Cursor_Rect < ::Sprite
 #--------------
 # ● instances settings
 #--------------
 attr_reader   :height, :width, :skin, :margin
 #--------------
 # ● initialize
 #--------------
 def initialize(viewport)
   super(viewport)
   @width = 0
   @height = 0
   @skin = nil
   @margin = 0
   @rect = {}
   @rect['cursor_up'] = Rect.new(129, 64, 30, 1)
   @rect['cursor_down'] = Rect.new(129, 95, 30, 1)
   @rect['cursor_left'] = Rect.new(128, 65, 1, 30)
   @rect['cursor_right'] = Rect.new(159, 65, 1, 30)
   @rect['upleft'] = Rect.new(128, 64, 1, 1)
   @rect['upright'] = Rect.new(159, 64, 1, 1)
   @rect['downleft'] = Rect.new(128, 95, 1, 1)
   @rect['downright'] = Rect.new(159, 95, 1, 1)
   @rect['bg'] = Rect.new(129, 65, 30, 30)
 end
 #--------------
 # ● margin=
 #--------------
 def margin=(margin)
   @margin = margin
   set(x, y, width, height)
 end
 #--------------
 # ● skin=
 #--------------
 def skin=(skin)
   @skin = skin
   draw_rect
 end
 #--------------
 # ● width=
 #--------------
 def width=(width)
   return if @width == width
   @width = width
   if @width == 0 and self.bitmap != nil
     self.bitmap.dispose
     self.bitmap = nil
   end
   draw_rect
 end
 #--------------
 # ● height=
 #--------------
 def height=(height)
   return if @height == height
   @height = height
   if @height == 0 and self.bitmap != nil
     self.bitmap.dispose
     self.bitmap = nil
   end
   draw_rect
 end
 #--------------
 # ● set
 #--------------
 def set(x, y, width, height)
   self.x = x + @margin
   self.y = y + @margin
   if @width != width or @height != height
     @width = width
     @height = height
     if width > 0 and height > 0
       draw_rect
     end
   end
 end
 #--------------
 # ● empty
 #--------------
 def empty
   self.x = 0
   self.y = 0
   self.width = 0
   self.height = 0
 end
 #--------------
 # ● draw_rect
 #--------------
 def draw_rect
   return if @skin == nil
   if @width > 0 and @height > 0
     self.bitmap = Bitmap.new(@width, @height)
     rect = Rect.new(1, 1, @width - 2, @height - 2)
     self.bitmap.stretch_blt(rect, @skin, @rect['bg'])
     self.bitmap.blt(0, 0, @skin, @rect['upleft'])
     self.bitmap.blt(@width-1, 0, @skin, @rect['upright'])
     self.bitmap.blt(0, @height-1, @skin, @rect['downright'])
     self.bitmap.blt(@width-1, @height-1, @skin, @rect['downleft'])
     rect = Rect.new(1, 0, @width - 2, 1)
     self.bitmap.stretch_blt(rect, @skin, @rect['cursor_up'])
     rect = Rect.new(0, 1, 1, @height - 2)
     self.bitmap.stretch_blt(rect, @skin, @rect['cursor_left'])
     rect = Rect.new(1, @height-1, @width - 2, 1)
     self.bitmap.stretch_blt(rect, @skin, @rect['cursor_down'])
     rect = Rect.new(@width - 1, 1, 1, @height - 2)
     self.bitmap.stretch_blt(rect, @skin, @rect['cursor_right'])
   end
 end
end
 
#==============================================================================
# ■ SG::Window
#------------------
#  
#==============================================================================
 
class Window
 #--------------
 # ● set instances variables
 #--------------
 attr_reader(:x, :y, :z, :width, :height, :ox, :oy, :opacity, :back_opacity,
             :stretch, :contents_opacity, :visible, :pause)
 attr_accessor :active
 #--------------
 # ● initialize
 #--------------
 def initialize()
   @skin = Skin.new
   @viewport = Viewport.new(0, 0, 0, 0)
   @cr_vport = Viewport.new(0, 0, 0, 0)
   @width = 0
   @height = 0
   @ox = 0
   @oy = 0
   @opacity = 255
   @back_opacity = 255
   @contents_opacity = 255
   @frame   = Sprite.new()
   @bg      = Sprite.new()
   @window  = Sprite.new(@viewport)
   @pause_s = Sprite.new()
   @arrows = []
   for i in 0...4
     @arrows.push(Sprite.new(@cr_vport))
     @arrows[i].bitmap = Bitmap.new(16, 16)
     @arrows[i].visible = false
   end
   @cursor_rect = Cursor_Rect.new(@cr_vport)
   @cursor_rect.margin = @skin.margin
   @cursor_fade = true
   @pause_s.visible = false
   @pause = false
   @active = true
   @stretch = true
   @visible = true
   self.x = 0
   self.y = 0
   self.z = 100
   self.windowskin = RPG::Cache.windowskin($game_system.windowskin_name)
 end
 #--------------
 # ● contents=
 #--------------
 def contents=(bmp)
   @window.bitmap = bmp
   if bmp != nil
     if bmp.width > @viewport.rect.width
        bmp.height > @viewport.rect.height
       draw_arrows
     end
   end
 end
 #--------------
 # ● contents
 #--------------
 def contents
   return @window.bitmap
 end
 #--------------
 # ● dispose
 #--------------
 def dispose
   @bg.dispose
   @frame.dispose
   @window.dispose
   @cursor_rect.dispose
   @viewport.dispose
   @pause_s.dispose
   @cr_vport.dispose
   for arrow in @arrows
     arrow.dispose
   end
 end
 #--------------
 # ● update
 #--------------
 def update
   @window.update
   @cursor_rect.update
   @viewport.update
   @cr_vport.update
   @pause_s.src_rect = @skin["pause#{(Graphics.frame_count / 8) % 4}"]
   @pause_s.update
   update_visible
   update_arrows
   if @cursor_fade
     @cursor_rect.opacity -= 10
     @cursor_fade = false if @cursor_rect.opacity <= 100
   else
     @cursor_rect.opacity += 10
     @cursor_fade = true if @cursor_rect.opacity >= 255
   end
 end
 #--------------
 # ● update_visible
 #--------------
 def update_visible
   @frame.visible = @visible
   @bg.visible = @visible
   @window.visible = @visible
   @cursor_rect.visible = @visible
   if @pause
     @pause_s.visible = @visible
   else
     @pause_s.visible = false
   end
 end
 #--------------
 # ● pause=
 #--------------
 def pause=(pause)
   @pause = pause
   update_visible
 end
 #--------------
 # ● update_arrows
 #--------------
 def update_arrows
   if @window.bitmap == nil or @visible == false
     for arrow in @arrows
       arrow.visible = false
     end
   else
     @arrows[0].visible = @oy > 0
     @arrows[1].visible = @ox > 0
     @arrows[2].visible = (@window.bitmap.width - @ox) > @viewport.rect.width
     @arrows[3].visible = (@window.bitmap.height - @oy) > @viewport.rect.height
   end
 end
 #--------------
 # ● visible=
 #--------------
 def visible=(visible)
   @visible = visible
   update_visible
   update_arrows
 end
 #--------------
 # ● x=
 #--------------
 def x=(x)
   @x = x
   @bg.x = x + 2
   @frame.x = x
   @viewport.rect.x = x + @skin.margin
   @cr_vport.rect.x = x
   @pause_s.x = x + (@width / 2) - 8
   set_arrows
 end
 #--------------
 # ● y=
 #--------------
 def y=(y)
   @y = y
   @bg.y = y + 2
   @frame.y = y
   @viewport.rect.y = y + @skin.margin
   @cr_vport.rect.y = y
   @pause_s.y = y + @height - @skin.margin
   set_arrows
 end
 #--------------
 # ● z=
 #--------------
 def z=(z)
   @z = z
   @bg.z = z
   @frame.z = z + 1
   @cr_vport.z = z + 2
   @viewport.z = z + 3
   @pause_s.z = z + 4
 end
 #--------------
 # ● ox=
 #--------------
 def ox=(ox)
   return if @ox == ox
   @ox = ox
   @viewport.ox = ox
   update_arrows
 end
 #--------------
 # ● oy=
 #--------------
 def oy=(oy)
   return if @oy == oy
   @oy = oy
   @viewport.oy = oy
   update_arrows
 end
 #--------------
 # ● width=
 #--------------
 def width=(width)
   @width = width
   @viewport.rect.width = width - @skin.margin * 2
   @cr_vport.rect.width = width
   if @width > 0 and @height > 0
     @frame.bitmap = Bitmap.new(@width, @height)
     @bg.bitmap = Bitmap.new(@width - 4, @height - 4)
     draw_window
   end
   self.x = @x
   self.y = @y
 end
 #--------------
 # ● height=
 #--------------
 def height=(height)
   @height = height
   @viewport.rect.height = height - @skin.margin * 2
   @cr_vport.rect.height = height
   if @height > 0 and @width > 0
     @frame.bitmap = Bitmap.new(@width, @height)
     @bg.bitmap = Bitmap.new(@width - 4, @height - 4)
     draw_window
   end
   self.x = @x
   self.y = @y
 end
 #--------------
 # ● opacity=
 #--------------
 def opacity=(opacity)
   value = [[opacity, 255].min, 0].max
   @opacity = value
   @contents_opacity = value
   @back_opacity = value
   @frame.opacity = value
   @bg.opacity = value
   @window.opacity = value
 end
 #--------------
 # ● back_opacity=
 #--------------
 def back_opacity=(opacity)
   value = [[opacity, 255].min, 0].max
   @back_opacity = value
   @bg.opacity = value
 end
 #--------------
 # ● contents_opacity=
 #--------------
 def contents_opacity=(opacity)
   value = [[opacity, 255].min, 0].max
   @contents_opacity = value
   @window.opacity = value
 end
 #--------------
 # ● cursor_rect
 #--------------
 def cursor_rect
   return @cursor_rect
 end
 #--------------
 # ● cursor_rect=
 #--------------
 def cursor_rect=(rect)
   @cursor_rect.x = rect.x
   @cursor_rect.y = rect.y
   if @cursor_rect.width != rect.width or @cursor_rect.height != rect.height
     @cursor_rect.set(@cursor_rect.x, @cursor_rect.y, rect.width, rect.height)
   end
 end
 #--------------
 # ● windowskin
 #--------------
 def windowskin
   return @skin.bitmap
 end
 #--------------
 # ● windowskin=
 #--------------
 def windowskin=(windowskin)
   return if windowskin == nil
   if @skin.bitmap != windowskin
     @pause_s.bitmap = windowskin
     @pause_s.src_rect = @skin['pause0']
     @skin.bitmap = windowskin
     @cursor_rect.skin = windowskin
     draw_window
     draw_arrows
   end
 end
 #--------------
 # ● margin=
 #--------------
 def margin=(margin)
   if @skin.margin != margin
     @skin.margin = margin
     self.x = @x
     self.y = @y
     temp = @height
     self.height = 0
     self.width = @width
     self.height = temp
     @cursor_rect.margin = margin
     set_arrows
   end
 end
 #--------------
 # ● stretch=
 #--------------
 def stretch=(bool)
   if @stretch != bool
     @stretch = bool
     draw_window
   end
 end
 #--------------
 # ● set_arrows
 #--------------
 def set_arrows
   @arrows[0].x = @width / 2 - 8
   @arrows[0].y = 8
   @arrows[1].x = 8
   @arrows[1].y = @height / 2 - 8
   @arrows[2].x = @width - 16
   @arrows[2].y = @height / 2 - 8
   @arrows[3].x = @width / 2 - 8
   @arrows[3].y = @height - 16
 end
 #--------------
 # ● draw_arrows
 #--------------
 def draw_arrows
   return if @skin.bitmap == nil
   @arrows[0].bitmap.blt(0, 0, @skin.bitmap, @skin['arrow_up'])
   @arrows[1].bitmap.blt(0, 0, @skin.bitmap, @skin['arrow_left'])
   @arrows[2].bitmap.blt(0, 0, @skin.bitmap, @skin['arrow_right'])
   @arrows[3].bitmap.blt(0, 0, @skin.bitmap, @skin['arrow_down'])
   update_arrows
 end
 #--------------
 # ● draw_window
 #--------------
 def draw_window
   return if @skin.bitmap == nil
   return if @width == 0 or @height == 0
   m = @skin.margin
   if @frame.bitmap.nil?
     @frame.bitmap = Bitmap.new(@width, @height)
     @bg.bitmap = Bitmap.new(@width - 4, @height - 4)
   end
   @frame.bitmap.clear
   @bg.bitmap.clear
   if @stretch
     dest_rect = Rect.new(0, 0, @width-4, @height-4)
     @bg.bitmap.stretch_blt(dest_rect, @skin.bitmap, @skin['bg'])
   else
     bgw = Integer((@width-4) / 128) + 1
     bgh = Integer((@height-4) / 128) + 1
     for x in 0..bgw
       for y in 0..bgh
         @bg.bitmap.blt(x * 128, y * 128, @skin.bitmap, @skin['bg'])
       end
     end
   end
   bx = Integer((@width - m*2) / @skin['up'].width) + 1
   by = Integer((@height - m*2) / @skin['left'].height) + 1
   for x in 0..bx
     w = @skin['up'].width
     @frame.bitmap.blt(x * w + m, 0, @skin.bitmap, @skin['up'])
     @frame.bitmap.blt(x * w + m, @height - m, @skin.bitmap, @skin['down'])
   end
   for y in 0..by
     h = @skin['left'].height
     @frame.bitmap.blt(0, y * h + m, @skin.bitmap, @skin['left'])
     @frame.bitmap.blt(@width - m, y * h + m, @skin.bitmap, @skin['right'])
   end
   @frame.bitmap.erase(@width - m, 0, m, m)
   @frame.bitmap.erase(0, @height - m, m, m)
   @frame.bitmap.erase(@width - m, @height - m, m, m)
   @frame.bitmap.blt(0, 0, @skin.bitmap, @skin['ul_corner'])
   @frame.bitmap.blt(@width - m, 0, @skin.bitmap, @skin['ur_corner'])
   @frame.bitmap.blt(0, @height - m, @skin.bitmap, @skin['dl_corner'])
   @frame.bitmap.blt(@width - m, @height - m, @skin.bitmap, @skin['dr_corner'])
 end
end
end



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


TIMO - posté le 26/08/2010 à 16:17:36 (822 messages postés)

❤ 0

Support : RMXP

Question 1 :

Je voudrais que le nombre de pas n'augmente que si l'interrupteur 1 est activé.
Quelle condition faut-il ajouté (j'imagine que c'est dans le genre if $gametruc[1] = 1 , mais bon)

Et à quel endroit dans quel script ?


Kaila - posté le 26/08/2010 à 16:59:27 (3617 messages postés)

❤ 0

Hmmm ?

Il faut mettre ça dans un script vierge au dessus de main:

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
#=======================================
# Modif de Game_Party pour n'augmenter
# le nombre de pas que si le switch X
# est activé.
#=======================================
class Game_Party
  def increase_steps
    if $game_switches[1]  # id du switch
      @steps = [@steps + 1, 9999999].min
    end
  end
end
#=======================================

(j'ai juste rajouté un condition, mais j'évite de faire faire des modifications dans les scripts de base, d'où l'ajout d'un autre script, aussi simple soit-il)

Everything is better with zombies.


zebrot - posté le 02/09/2010 à 22:37:19 (1601 messages postés)

❤ 0

Troller lvl 1

Salut Oniro vous êtes chauuuuuuuuuuds????


Ca fait plaisir -->[]

Support : RMXP
Bon alors voila je réalise un CBS en event/script.
Et, étant très mauvais en ruby j'ai des questions de noob à poser:
Question 1 :Comment?
Comment mettre un menu de choix après la sélection de la commande "attaque de base"?
(Ce menu lancera simplement une attaque normale après avoir changé les caractéristiques).

01010011 01110101 01100011 01100101 00100000 01101101 01101111 01101001 00100000 00111100 00110011


Mack - posté le 05/09/2010 à 19:06:54 (2288 messages postés)

❤ 0

Pourquoi tu ne ferais pas une scène avec juste la map en fond et une Window_Command qui appelerais des évents communs ?

Support :RMXP

Question 1 : Trouver la largeur d'un texte ( En Pixels ) dans la fenêtre de messages.
Voila, je cherche à savoir la largeur d'un choix dans la fenêtre de message. ( Proposer un choix. )
La même question, mais pour le script "Window_Command".

Question 2 : Ajouté de la poussière sur un sprite.
Voila, en gros, j'aimerais pouvoir ajouté un genre de poussière qui tombe en dessous d'un sprite.
Dans ce genre là :
image
( J'peux donner le script qui donne cet effet la si besoin. )
Bien entendu, il faudrait que la poussière suive le sprite, avec un peu de retard si possible.

( Je prend note de tout les commentaires, même si je n'y répond pas )


berka - posté le 06/09/2010 à 11:49:51 (493 messages postés)

❤ 0

planchant sur un script

self.contents.text_size("Exemple de choix")
=> Rect en fonction de Bitmap#font

Pour le second, tu as des scripts de particule, soit sur le forum soit sur google. C'est pas trop compliqué à trouver je pense.

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


Mack - posté le 06/09/2010 à 19:03:55 (2288 messages postés)

❤ 0

Hmmm ... J'comprend pas vraiment comment m'en servir ...
Je connais pas les choix à chaque fois.


Tout les script de particule que j'ai trouvé sont pour la map.
Et ils se servent tous de "Spriteset_Map", donc pas vraiment utilisable dans une fenêtre =/.

( Je prend note de tout les commentaires, même si je n'y répond pas )


Kaila - posté le 06/09/2010 à 20:39:46 (3617 messages postés)

❤ 0

Hmmm ?

Citation:

Je connais pas les choix à chaque fois.

Bah, ton texte est bien enregistré quelque part, non ? Bon, bah c'est ça qu'il faut passer en paramètre à 'text_size' et elle te retournera un Rect dont la largeur sera la largeur en pixels prise par le texte (en fonction de la police et de la taille de police).

Everything is better with zombies.


zebrot - posté le 06/09/2010 à 22:27:38 (1601 messages postés)

❤ 0

Troller lvl 1

Support : RMXP
Bon alors voila je réalise un CBS en event/script.
Et, étant très mauvais en ruby j'ai des questions de noob à poser:
Question 1 :Comment?
Comment mettre un menu de choix après la sélection de la commande "attaque de base"?
(Ce menu lancera simplement une attaque normale après avoir changé les caractéristiques).

01010011 01110101 01100011 01100101 00100000 01101101 01101111 01101001 00100000 00111100 00110011


Lufia - posté le 06/09/2010 à 22:59:56 (5792 messages postés)

❤ 0

Un Oniromancien. PVs 1, Attaque 0, Défense 0.

Tu veux modifier le Scene_Battle de base, ou t'as commencé un truc en évènements ?

Une signature ? Pour quoi faire ?


zebrot - posté le 07/09/2010 à 11:10:04 (1601 messages postés)

❤ 0

Troller lvl 1

Modifier le scene_battle.
En fait, même pas le modifier: simplement savoir à quelle ligne se fait la condition "attak is ON" ou un truc du genre (pour m'en servir après).
Et la fonction qui lance l'attaque.
(Y'a des fonctions en RGSS aussi?)

01010011 01110101 01100011 01100101 00100000 01101101 01101111 01101001 00100000 00111100 00110011


Mack - posté le 07/09/2010 à 11:53:59 (2288 messages postés)

❤ 0

Kaila, c'est justement ce que je cherche.
Dans quoi est enregistré le texte.
J'ai essayer :

Portion de code : Tout sélectionner

1
$game_temp.choice_text(0)


Mais c'est pas ça ^^".

( Je prend note de tout les commentaires, même si je n'y répond pas )


Lufia - posté le 07/09/2010 à 13:25:17 (5792 messages postés)

❤ 0

Un Oniromancien. PVs 1, Attaque 0, Défense 0.

zebrot : L'update de la fenêtre de commande (attaque, skill, défense, objets), c'est dans Scene_Battle 3, update_phase3_basic_command. L'action de chaque battler est "enregistrée" grâce à leurs variables current_action_kind et current_action_basic.
Le "lancement" de l'attaque, c'est dans la phase 4, qui joue les animations de dégâts et tout ça. Pour une attaque simple, c'est dans make_basic_action_result. Si tu parles du calcul des dégâts, ça se passe par contre dans Game_Battler, méthode attack_effect.

Mack : $game_temp.message_text

Une signature ? Pour quoi faire ?


trophe - posté le 07/09/2010 à 16:18:57 (136 messages postés)

❤ 0

les pouvoirs de l'infini...

s'il vous plaît, je vais bientôt déposer mon jeu sur ce site :
il faut d'abord le proposer ou le signaler ? :oO

forum LPDI : http://lpdileforumofficiel.forumgratuit/ - chaîne youtube : http://www.youtube.com/user/trophe80


Kaila - posté le 07/09/2010 à 16:40:51 (3617 messages postés)

❤ 0

Hmmm ?

Mauvais topic, ici c'est les questions relatives au RGSS/2.

Mais pour répondre à ta question, soit tu fais un topic de présentation avec lien de téléchargement dans la section "Jeux terminés", soit tu vas dans "Proposer... > Jeux".
Dans le premier cas, ton jeu ne passera pas inaperçu mais sera assez vite oublié (il passera en seconde page de la section et ne sera plus visible au premier coup d'œil), alors que dans le second cas, ton lien sera répertorié dans la liste des jeux d'Oniro mais la validation peut prendre quelques jours et il peut ne pas passer le test du staff.

Personnellement, je te conseilles de partir sur la première option pour voir un peu comment sera accueilli ton jeu par la commu' et de ne passer par la section "Proposer..." que plus tard, si les critiques sont bonnes.

Everything is better with zombies.


zou - posté le 09/09/2010 à 17:43:42 (2197 messages postés)

❤ 0

Bonjour quelle est la diference entre
for i in 0..5
et
for i in 0...5
? :-/


berka - posté le 09/09/2010 à 17:56:56 (493 messages postés)

❤ 0

planchant sur un script

Le premier est inclusif: i=0;1;2;3;4;5 ce qui équivaut en maths à [0,5]
Le second est exclusif: i=0;1;2;3;4 ce qui équivaut en maths à [0,5[

Bonne soirée,

Berka

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


zou - posté le 09/09/2010 à 18:05:12 (2197 messages postés)

❤ 0

Merci Berka


Sheeptouf - posté le 14/09/2010 à 21:50:24 (2 messages postés)

❤ 0

Excusez moi, peut être qu'on vous à déja posé cette question et qu'elle vous parait débile mais j'ai un petit souci avec RM 2003:

Quand je modifie le taux de rencontres des montres dans une map, bien que je le mette à 100% je ne tombe jamais sur des monstres? pourquoi? O_O

אני חושב לכן אני

Aller à la page 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

Index du forum > Entraide > [Scripts] Petites questions connes sur les SCRIPTS!!

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

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