Day.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker


Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Jeux: puie z / Jeux: Citymaime - Chapitre 1 / Jeux: Mer, îles et fous / News: Du neuf dans le making / News: Muma|Rope est disponible en (...) / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

344 connectés actuellement

30732745 visiteurs
depuis l'ouverture

2724 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Lumen

Offgame

Lunae - le bazar d'Emz0

ConsoleFun

Tous nos partenaires

Devenir
partenaire



Bestiaire 2.0

Permet au joueur d'avoir des informations sur les monstres déjà vaincus.

Script pour RPG Maker VX
Ecrit par Krazplay
Publié par Krazplay (lui envoyer un message privé)
Signaler un script cassé

❤ 0

C'est la nouvelle version de mon vieux bestiaire, cette fois-ci il est directement bien configuré pour tourner sur VX que ce soit en résolution 544x416 ou avec une résolution supérieure.

Il y a quelques modifications par rapport à la précédente version : la liste des monstres utilisent deux colonnes et non plus une, l'affichage des drops des objets n'est plus buggé comme dans l'autre version présente sur ce site, et on peut switcher entre deux graphes de défense lorsqu'on appuie sur le bouton confirmer.

Attention pour ceux qui utilisent l'ancienne version
J'ai changé le nom de la scene, ce n'est plus Scene_Liste_Monstres mais Scene_Bestiaire, donc changez cela dans vos scripts/évènements !

Merci de bien lire les commentaires dans le script pour configurer 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
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
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
#==============================================================================
# ■ Bestiaire 2.0 pour RPG Maker VX
#------------------------------------------------------------------------------
# Version 2.0 (24/05/2010) par Krazplay
# Où me trouver ? Si vous avez des questions ou problèmes :
# Oniromancie => http://www.rpg-maker.fr/
# C'est là où je traine maintenant que la Factory a fermé :'(
#------------------------------------------------------------------------------
# Ce script fonctionne aussi en 640x480, la fenêtre détaillant les monstres
# reste en 544x416, mais elle est centrée au milieu de l'écran par défaut.
#------------------------------------------------------------------------------
# Par défaut, ce script utilise les variables 4001 à 4000+Nbre de monstres dans
# votre base de données. Assurez-vous qu'elles soient disponible ou changer
# la configuration pour en utiliser d'autres (ou ne pas en utiliser du tout)
#------------------------------------------------------------------------------
# Pour appeler ce menu il suffit d'utiliser la ligne suivante :
# $scene = Scene_Bestiaire.new
# Cette scene renvoie au menu lorsqu'elle se termine, si vous voulez qu'elle
# ramène sur la carte plutôt qu'au menu, ajouter l'argument false :
# $scene = Scene_Bestiaire.new(false)
#------------------------------------------------------------------------------
# Vous pouvez librement diffuser ce script, y compris des versions modifiées.
# Mais vous devez laisser la provenance (auteur/site) du script original,
# c'est la moindre des choses :-)
#==============================================================================
module KRAZ_SLM
  # Si Vrai, les monstres qui n'ont pas encore été vaincus n'apparaissent pas du
  # tout dans la liste (même pas comme monstre inconnu)
  MONSTRES_INCONNUS_INVISIBLES = false
  # Si Vrai, les noms des monstres sont visibles même s'ils n'ont jamais été
  # tués, si Faux, ils apparaitront avec le nom précisé dans NOM_MONSTRE_INCONNU
  NOMS_PAR_DEFAUT = true
  # Si les monstres inconnus sont visibles mais que leurs noms n'apparaissent 
  # pas s'ils n'ont pas encore été tué, alors c'est celui-là qui sera utilisé.
  NOM_MONSTRE_INCONNU = "Monstre inconnu"
  # Si vrai, on peut accéder aux détails d'un monstre même si l'on en a pas encore
  # tué un, utile pour voir à quoi ressemble le bestaire.
  DETAILS_PAR_DEFAUT = true
  # Si la scene est appelée par le menu, il peut être sympa de remettre le curseur
  # sur la commande Bestiaire lorsqu'on y retourne.
  POSITION_DS_MENU = 4
  # Définit comment enregistrer les données
  # Si 0, tout est enregistré dans les variables du jeu, comme dans la première version
  # Si 1, tout est enregistré dans le tableau $game_system.bestaire
  TYPE_SAUVEGARDE = 0
  # Définit quelles variables vont être utilisées dans le cas TYPE_SAUVEGARDE = 0
  # N'oublier pas que cela commence à DEPART_VARIABLES+1, parce que le premier
  # monstre a l'ID 1 et non 0.
  DEPART_VARIABLES = 4000
  # Les méthodes suivantes sont les seules références aux variables où sont
  # stockés le nombre d'ennemi tué de chaque sorte.
  def self.nombre_tués(id_monstre)
    return $game_variables[DEPART_VARIABLES+id_monstre] if TYPE_SAUVEGARDE == 0
    return $game_system.bestiaire[id_monstre]
  end
  def self.set_nombre_tués(id_monstre, nombre)
    $game_variables[DEPART_VARIABLES+id_monstre] = nombre if TYPE_SAUVEGARDE == 0
    $game_system.bestiaire[id_monstre] = nombre
  end
  def self.ajout_nombre_tués(id_monstre, nombre)
    $game_variables[DEPART_VARIABLES+id_monstre] += nombre if TYPE_SAUVEGARDE == 0
    $game_system.bestiaire[id_monstre] += nombre
  end
  
  # Ce qui suit permet de déplacer quasiment tout les textes présents dans le
  # script afin que vous puissiez le customiser ou le faire fonctionner dans une
  # nouvelle résolution.
    #======> Positionnement des éléments <======#
    #-------------------------------------------#
    # La fenêtre générale prend automatiquement tout l'écran
    # Taille de la police
    FG_TP = 24
    # Description des 2 colonnes
    FG_COL1 = "BESTIAIRE"
    FG_COL2 = "(Nom)"
    FG_COL3 = "(Tué)"
    # Position des descriptions [x, y, longueur, hauteur]
    FG_PD1 = [10, 0, 200, 32]
    FG_PD2 = [300, 0, 200, 32]
    FG_PD3 = [455, 0, 200, 32]
    # Position du numéro du monstre selectionné [x, y, longueur, hauteur]
    FG_NM = [240, 420, 300, 32]
    
    # Fenêtre liste des monstres [x, y, longueur, hauteur]
    # Attention cette fenêtre ne se voit pas, seul son contenu est visible.
    FM = [0, 41, 544, 370]
    # Nom du monstre [x, largeur max]
    FM_NM = [10, 300]
    # Nombre de monstres tués [x, largeur]
    # Attention alignement du texte à droite et non à gauche.
    FM_NMT = [200, 30]
    
    # Position de la Fenêtre détails d'un monstre [x, y, largeur, hauteur]
    FD = [(Graphics.width-544)/2, (Graphics.height-416)/2, 544, 416]
    # Vitesse ouverture/fermeture (255 le plus rapide)
    FD_V = 24
    # Taille de la police du nom du monstre
    FD_TT = 28
    # Couleur du nom du monstre [Rouge, Vert, Bleu, Opacité]
    FD_CT = [255, 155, 155, 255]
    # Nom du monstre [x, y, longueur, hauteur]
    # Attention ici le nom est centré sur x
    FD_NM = [32, 0, 470, 32]
    # Position de l'image du monstre [x, y]
    FD_B = [355, 160]
    # Taille de la police du reste de la fenêtre
    FD_TP = 20
    # Utilise la couleur système pour la suite
    FD_COLOR_SYSTEM = true
    # Si vous ne désirez pas utiliser la couleur système
    # [Rouge, Vert, Bleu, Opacité]
    FD_CSA = [255, 155, 155, 255]
    # Pour tout ce qui suit, le nom de la caractéristique et sa valeur sont écrit
    # dans le même rectangle, mais la valeur est aligné à droite du rectangle.
    # Position HP [x, y, longueur, hauteur]
    FD_HP = [10, 40,    165, 24]       # Points de vie
    FD_MP = [10, 40+24, 165, 24]       # Points de magie
    FD_ATK = [10, 40+3*24, 165, 24]    # Attaque
    FD_DEF = [10, 40+4*24, 165, 24]    # Défense
    FD_SPI = [10, 40+5*24, 165, 24]    # Esprit
    FD_AGI = [10, 40+6*24, 165, 24]    # Agilité
    FD_EXP  = [10, 40+8*24, 155, 24]   # Experience
    FD_GOLD = [10, 40+9*24, 155+20, 24]    # Argent
    # Mots désignants respectivement l'experience, l'or et les objets pouvant être
    # laissé par l'ennemi.
    FD_MEXP  = "EXP"
    FD_MGOLD = "Argent"
    FD_MDROP = "Objets"
    # Position du mot FD_MDROP [x, y, longueur, hauteur]
    FD_DROP = [10, 40+11*24, 200, 24]
    # Position des objets droppé par l'ennemi [x, y, longueur, hauteur]
    FD_DR1 = [20, 40+12*24, 220, 24]
    FD_DR2 = [20, 40+13*24, 220, 24]
    # Graphique des défenses élémentales [x, y, rayon]
    FD_GDE = [290, 239, 28]
    ##=====> Fin positionnement des éléments <=====##
end
 
#==============================================================================
# Graphic_Def_Elem
#==============================================================================
class Window_Base
 FONT_SIZE          = 20
 WORD_ELEMENT_GUARD = "Déf. Elémentale"
 NUMBER_OF_ELEMENTS =  8               # Nombre d'éléments affichés dans le graphique
 K_ELEMENT_ORDER1      = [1,3,8,5,2,4,7,6]  # ID des éléments affichés dans le graphique
 # Second jeu d'élément pour le graphe !
 # Si ça ne vous intéresse pas, mettre absolument à nil comme suit :
 #K_ELEMENT_ORDER2      = nil
 K_ELEMENT_ORDER2      = [9,11,16,13,10,12,15,14]
 GRAPH_SCALINE_COLOR        = Color.new(255, 255, 255, 128)
 GRAPH_SCALINE_COLOR_SHADOW = Color.new(  0,   0,   0, 192)
 GRAPH_LINE_COLOR           = Color.new(255, 255,  64, 255)
 GRAPH_LINE_COLOR_MINUS     = Color.new( 64, 255, 255, 255)
 GRAPH_LINE_COLOR_PLUS      = Color.new(255,  64,  64, 255)
end
 
#==============================================================================
# ■ Scene_Battle
#------------------------------------------------------------------------------
# Ajoute les monstres tués aux variables lorsqu'on gagne un combat ou fuit.
#==============================================================================
class Scene_Battle
  include KRAZ_SLM
  
  alias kraz_slm_process_victory process_victory
  def process_victory
    compte_les_morts
    kraz_slm_process_victory
  end
  
  alias kraz_slm_process_escape process_escape
  def process_escape
    compte_les_morts
    kraz_slm_process_escape
  end
  
  def compte_les_morts
    for enemy in $game_troop.members
      if enemy.dead?
        KRAZ_SLM.ajout_nombre_tués(enemy.enemy_id, 1)
      end
    end
  end
end
 
#==============================================================================
# ■ Scene_Bestiaire
#------------------------------------------------------------------------------
# La scène du bestiaire, tout simplement.
#==============================================================================
class Scene_Bestiaire
  include KRAZ_SLM
  
  def initialize(vient_du_menu = true)
    # Pour savoir si l'on retourne au menu ou sur la carte à la fin de la scene.
    @vient_du_menu = vient_du_menu
    # Sert à vérifier si l'index de la fenêtre monstres a changé.
    # -1 pour forcer la mise à jour dès le départ
    @monstres_index = -1
    # Retient le jeu d'élément utilisé pour le graphe
    @jeu_element = 0
  end
  
  def main
    @general_window = Window_General.new
    @monstres_window = Window_Monstres.new
    @details_monstre_window = Window_Details_Monstre.new
    @general_window.set_max_monstres(@monstres_window.data.size)
    @details_monstre_window.openness = 0
    @details_monstre_window.active = false
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    @general_window.dispose
    @monstres_window.dispose
  end
  
  def update
    # Mise à jour des fenêtre
    @general_window.update
    @monstres_window.update
    @details_monstre_window.update
    # On vérifie si le curseur a bougé
    if @monstres_window.index != @monstres_index
      @monstres_index = @monstres_window.index
      @general_window.affiche_numero(@monstres_index+1)
    end
    # Bouton de confirmation
    if Input.trigger?(Input::C)
      if @monstres_window.active and @monstres_window.data.size > 0
        id_monstre = @monstres_window.data[@monstres_window.index][2]
        if KRAZ_SLM.nombre_tués(id_monstre) > 0 or DETAILS_PAR_DEFAUT
          @details_monstre_window.refresh(id_monstre)
          @details_monstre_window.active = true
          @details_monstre_window.open
          @monstres_window.active = false
          Sound.play_decision
        else
          Sound.play_buzzer
        end
      elsif @details_monstre_window.active
        # On change les éléments qui vont être affichés par le graphe
        @jeu_element = (@jeu_element + 1) % 2
        @details_monstre_window.changer_jeu_d_elements(@jeu_element)
        # On rafraichit la fenêtre pour que ça prenne effet
        id_monstre = @monstres_window.data[@monstres_window.index][2]
        @details_monstre_window.refresh(id_monstre)
      end
    # Bouton d'annulation
    elsif Input.trigger?(Input::B)
      Sound.play_cancel
      if @monstres_window.active
        $scene = @vient_du_menu ? Scene_Menu.new(POSITION_DS_MENU) : Scene_Map.new
        Graphics.freeze
      elsif @details_monstre_window.active
        @details_monstre_window.active = false
        @details_monstre_window.close
        @monstres_window.active = true
      end
    end
    if @details_monstre_window.active
      # Passage d'un monstre à l'autre lorsqu'on regarde leurs détails
      if Input.repeat?(Input::RIGHT) or Input.repeat?(Input::DOWN)
        data = @monstres_window.data
        new_index = index = @monstres_window.index
        data.size.times do
          new_index +=1
          new_index = 0 if new_index >= data.size
          break if DETAILS_PAR_DEFAUT or data[new_index][1] > 0
        end
        if new_index != index
          @details_monstre_window.refresh(data[new_index][2])
          Sound.play_cursor
          @monstres_window.index = new_index
        end
      elsif Input.repeat?(Input::LEFT) or Input.repeat?(Input::UP)
        data = @monstres_window.data
        new_index = index = @monstres_window.index
        data.size.times do
          new_index -=1
          new_index = data.size-1 if new_index < 0
          break if DETAILS_PAR_DEFAUT or data[new_index][1] > 0
        end
        @details_monstre_window.refresh(data[new_index][2]) if new_index != index
        @monstres_window.index = new_index
        if new_index != index
          @details_monstre_window.refresh(data[new_index][2])
          Sound.play_cursor
          @monstres_window.index = new_index
        end
      end
    end
  end # update
end # class Scene_Bestiaire
 
#==============================================================================
# ■ Window_General
#------------------------------------------------------------------------------
# Fenêtre général
#==============================================================================
class Window_General < Window_Base
  include KRAZ_SLM
  
  def initialize
    super(0, 0, Graphics.width, Graphics.height)
    @max = 0
    refresh
  end
  
  def refresh
    self.contents.font.size = FG_TP
    self.contents.font.color = system_color
    self.contents.draw_text(FG_PD1[0], FG_PD1[1], FG_PD1[2], FG_PD1[3], FG_COL1)
    self.contents.draw_text(FG_PD2[0], FG_PD2[1], FG_PD2[2], FG_PD2[3], FG_COL2)
    self.contents.draw_text(FG_PD3[0], FG_PD3[1], FG_PD3[2], FG_PD3[3], FG_COL3)
  end
  
  def affiche_numero(ind=1)
    # On efface une partie de la fenêtre (RGSS2!) avant d'écrire dessus
    self.contents.clear_rect(FG_NM[0], FG_NM[1], FG_NM[2], FG_NM[3])
    self.contents.draw_text(FG_NM[0], FG_NM[1], FG_NM[2], FG_NM[3], "Monstre #{ind} / #{@max}")
  end
  
  def set_max_monstres(max)
    @max = max
  end
end
  
#==============================================================================
# ■ Window_Monstres
#------------------------------------------------------------------------------
# Fenêtre avec le nom de tout les ennemis tués et combien de fois ils ont été
# tués. Seul le texte de la fenêtre reste visible (l'opacité et l'opacité du
# fond est mise à zéro).
#==============================================================================
class Window_Monstres < Window_Selectable
  include KRAZ_SLM
  
  attr_reader   :data
  
  def initialize
    # Création de la fenêtre, on s'assure qu'elle au-dessus de la fenêtre 'General'
    super(FM[0], FM[1], FM[2], FM[3])
    # On ne veut voir que le texte, donc opacité et back_opacity à 0
    self.back_opacity = 0
    self.opacity = 0
    # Deux colonnes, index à zéro lorsqu'on commence
    @column_max = 2
    self.index = 0
    # @data est le tableau des données qui vont être affichées.
    # Ces éléments sont des tableaux [nom du monstre, nombre tué, id du monstre]
    @data = []
    # Remplissage de @data
    for monstre in $data_enemies
      next if monstre == nil
      id = monstre.id
      tués = KRAZ_SLM.nombre_tués(id)
      if tués == 0
        next if MONSTRES_INCONNUS_INVISIBLES
        nom = NOMS_PAR_DEFAUT ? monstre.name : NOM_MONSTRE_INCONNU
        @data.push([nom, tués, id])
      else
        nom = monstre.name
        @data.push([nom, tués, id])
      end
    end
    # Le nombre d'objets dans notre liste c'est évidement le nombre de monstre
    # qu'on va afficher
    @item_max = @data.size
    # Va mettre le bitmap à la bonne taille
    create_contents
    refresh
  end
 
  def refresh
    self.contents.clear
    for i in 0...@item_max
      draw_item(i)
    end
  end
  
  def draw_item(index)
    tab_monstre = @data[index]
    if tab_monstre != nil
      self.contents.draw_text( FM_NM[0] + 270*(index%@column_max), (index/2 * WLH), FM_NM[1], WLH, tab_monstre[0])
      self.contents.draw_text(FM_NMT[0] + 270*(index%@column_max), (index/2 * WLH),FM_NMT[1], WLH, tab_monstre[1].to_s, 2)
    end
  end
  
  def item_rect(index)
    rect = Rect.new(0, 0, 0, 0)
    rect.width = (contents.width + @spacing) / @column_max - @spacing
    rect.height = WLH
    rect.x = index % @column_max * (rect.width + @spacing)
    rect.y = index / @column_max * WLH
    return rect
  end
  
  def update
    super
    if @column_max == 1 and self.active
      if Input.repeat?(Input::RIGHT)
        cursor_pagedown
      end
      if Input.repeat?(Input::LEFT)
        cursor_pageup
      end
    end
  end
  
end #class Window_Monstres
 
#==============================================================================
# ■ Window_details_monstre
#------------------------------------------------------------------------------
# Permet de créer une fenêtre avec les détails d'un ennemi
#==============================================================================
class Window_Details_Monstre < Window_Base
  include KRAZ_SLM
  
  def initialize
    @element_order = K_ELEMENT_ORDER1
    super(FD[0], FD[1], FD[2], FD[3])
    self.contents = Bitmap.new(width-32, height-32)
    self.back_opacity = 255
  end
  
  def update
    if @opening
      self.openness += FD_V
      @opening = false if self.openness == 255
    elsif @closing
      self.openness -= FD_V
      @closing = false if self.openness == 0
    end
  end
  
  def refresh(monstre_id)
    self.contents.clear
    draw_actor_battler($data_enemies[monstre_id], FD_B[0], FD_B[1])
    self.contents.font.size = FD_TT
    self.contents.font.bold = true
    self.contents.font.color = Color.new(FD_CT[0], FD_CT[1], FD_CT[2], FD_CT[3])
    self.contents.draw_text(FD_NM[0], FD_NM[1], FD_NM[2], FD_NM[3], $data_enemies[monstre_id].name, 1)
    self.contents.font.size = FD_TP
    self.contents.font.bold = false
    if FD_COLOR_SYSTEM
      self.contents.font.color = system_color
    else
      self.contents.font.color = Color.new(FD_CSA[0], FD_CSA[1], FD_CSA[2], FD_CSA[3])
    end
    self.contents.draw_text(FD_HP[0], FD_HP[1], FD_HP[2], FD_HP[3], "#{Vocab.hp} :")
    self.contents.draw_text(FD_MP[0], FD_MP[1], FD_MP[2], FD_MP[3], "#{Vocab.mp} :")
    self.contents.draw_text(FD_ATK[0], FD_ATK[1], FD_ATK[2], FD_ATK[3], "#{Vocab.atk}")
    self.contents.draw_text(FD_DEF[0], FD_DEF[1], FD_DEF[2], FD_DEF[3], "#{Vocab.def}")
    self.contents.draw_text(FD_SPI[0], FD_SPI[1], FD_SPI[2], FD_SPI[3], "#{Vocab.spi}")
    self.contents.draw_text(FD_AGI[0], FD_AGI[1], FD_AGI[2], FD_AGI[3], "#{Vocab.agi}")
    self.contents.draw_text(FD_EXP[0], FD_EXP[1], FD_EXP[2], FD_EXP[3], FD_MEXP+" :")
    self.contents.draw_text(FD_GOLD[0], FD_GOLD[1], FD_GOLD[2], FD_GOLD[3], FD_MGOLD+" :")
    self.contents.draw_text(FD_DROP[0], FD_DROP[1], FD_DROP[2], FD_DROP[3], FD_MDROP+" :")
    self.contents.font.color = normal_color
    self.contents.draw_text(FD_HP[0], FD_HP[1], FD_HP[2], FD_HP[3], $data_enemies[monstre_id].maxhp.to_s, 2)
    self.contents.draw_text(FD_MP[0], FD_MP[1], FD_MP[2], FD_MP[3], $data_enemies[monstre_id].maxmp.to_s, 2)
    self.contents.draw_text(FD_ATK[0], FD_ATK[1], FD_ATK[2], FD_ATK[3], $data_enemies[monstre_id].atk.to_s, 2)
    self.contents.draw_text(FD_DEF[0], FD_DEF[1], FD_DEF[2], FD_DEF[3], $data_enemies[monstre_id].def.to_s, 2)
    self.contents.draw_text(FD_SPI[0], FD_SPI[1], FD_SPI[2], FD_SPI[3], $data_enemies[monstre_id].spi.to_s, 2)
    self.contents.draw_text(FD_AGI[0], FD_AGI[1], FD_AGI[2], FD_AGI[3], $data_enemies[monstre_id].agi.to_s, 2)
    
    self.contents.draw_text(FD_EXP[0], FD_EXP[1], FD_EXP[2], FD_EXP[3], $data_enemies[monstre_id].exp.to_s, 2)
    self.contents.draw_text(FD_GOLD[0], FD_GOLD[1], FD_GOLD[2], FD_GOLD[3], $data_enemies[monstre_id].gold.to_s+" #{Vocab.gold}", 2)
    # Affichage objets que peuvent donner les ennemis
    if $data_enemies[monstre_id].drop_item1.kind != 0
      item = $data_enemies[monstre_id].drop_item1
      case item.kind
      when 1
        icon_index = $data_items[item.item_id].icon_index
        name = $data_items[item.item_id].name
      when 2
        icon_index = $data_weapons[item.weapon_id].icon_index
        name = $data_weapons[item.weapon_id].name
      when 3
        icon_index = $data_armors[item.armor_id].icon_index
        name = $data_armors[item.armor_id].name
      end
      opacity = self.contents.font.color == normal_color ? 255 : 128
      denom = $data_enemies[monstre_id].drop_item1.denominator.to_s
      
      draw_icon(icon_index, FD_DR1[0], FD_DR1[1]+1)
      self.contents.draw_text(FD_DR1[0]+30, FD_DR1[1], FD_DR1[2], FD_DR1[3], name + " (1/#{denom})", 0)
    end
    if $data_enemies[monstre_id].drop_item2.kind != 0
      item = $data_enemies[monstre_id].drop_item2
      case item.kind
      when 1
        icon_index = $data_items[item.item_id].icon_index
        name = $data_items[item.item_id].name
      when 2
        icon_index = $data_weapons[item.weapon_id].icon_index
        name = $data_weapons[item.weapon_id].name
      when 3
        icon_index = $data_armors[item.armor_id].icon_index
        name = $data_armors[item.armor_id].name
      end
      opacity = self.contents.font.color == normal_color ? 255 : 128
      denom = $data_enemies[monstre_id].drop_item2.denominator
      draw_icon(icon_index, FD_DR2[0], FD_DR2[1]+1)
      self.contents.draw_text(FD_DR2[0]+30, FD_DR2[1], FD_DR2[2], FD_DR2[3], name + " (1/#{denom})", 0)
    end
    self.draw_enemy_element_radar_graph($data_enemies[monstre_id], FD_GDE[0], FD_GDE[1], FD_GDE[2])
  end
  
  def changer_jeu_d_elements(id_jeu)
    if id_jeu == 0
      @element_order = K_ELEMENT_ORDER1
    elsif id_jeu == 1 and K_ELEMENT_ORDER2 != nil
      @element_order = K_ELEMENT_ORDER2
    end
  end
end
 
#--------------------------------------------------------------------------
# ● draw_actor_battler
#   Dessine le battler de l'acteur aux coordonnées x,y
#   L'acteur peut aussi bien être un monstre qu'un personnage
#--------------------------------------------------------------------------
class Window_Base
  def draw_actor_battler(actor, x, y)
    bitmap = Cache.battler(actor.battler_name, actor.battler_hue)
    cw = bitmap.width
    ch = bitmap.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x - cw / 2, y - ch / 2, bitmap, src_rect)
  end
end
 
#==============================================================================
# ¡ Window_Status
#==============================================================================
class Window_Base
 #--------------------------------------------------------------------------
 def draw_enemy_element_radar_graph(enemy, x, y, radius = 56)
   cx = x + radius + FONT_SIZE + 48
   cy = y + radius + FONT_SIZE + 32
   self.contents.font.color = system_color
   #self.contents.draw_text(x, y, 134, 32, WORD_ELEMENT_GUARD)
   for loop_i in 0..NUMBER_OF_ELEMENTS
     if loop_i == 0
      
     else
       @pre_x  = @now_x
       @pre_y  = @now_y
       @pre_ex = @now_ex
       @pre_ey = @now_ey
       @color1 = @color2
     end
     if loop_i == NUMBER_OF_ELEMENTS
       eo = @element_order[0]
     else
       eo = @element_order[loop_i]
     end
     er = element_pourcent(enemy, eo)
     estr = $data_system.elements[eo]
     @color2 = er < 0 ? GRAPH_LINE_COLOR_MINUS : er > 100 ? GRAPH_LINE_COLOR_PLUS : GRAPH_LINE_COLOR
     th = Math::PI * (0.5 - 2.0 * loop_i / NUMBER_OF_ELEMENTS)
     @now_x  = cx + (radius * Math.cos(th)).floor
     @now_y  = cy - (radius * Math.sin(th)).floor
     @now_wx = cx + ((radius+FONT_SIZE*2/2) * Math.cos(th)).floor - FONT_SIZE
     @now_wy = cy - ((radius+FONT_SIZE*1/2) * Math.sin(th)).floor - FONT_SIZE/2
     @now_vx = cx + ((radius+FONT_SIZE*6/2) * Math.cos(th)).floor - FONT_SIZE
     @now_vy = cy - ((radius+FONT_SIZE*3/2) * Math.sin(th)).floor - FONT_SIZE/2
     @now_ex = cx + (er.abs*radius/100 * Math.cos(th)).floor
     @now_ey = cy - (er.abs*radius/100 * Math.sin(th)).floor
     if loop_i == 0
       @pre_x  = @now_x
       @pre_y  = @now_y
       @pre_ex = @now_ex
       @pre_ey = @now_ey
       @color1 = @color2
     else
       
     end
     next if loop_i == 0
     self.contents.draw_line(cx+1,cy+1, @now_x+1,@now_y+1, GRAPH_SCALINE_COLOR_SHADOW)
     self.contents.draw_line(@pre_x+1,@pre_y+1, @now_x+1,@now_y+1, GRAPH_SCALINE_COLOR_SHADOW)
     self.contents.draw_line(cx,cy, @now_x,@now_y, GRAPH_SCALINE_COLOR)
     self.contents.draw_line(@pre_x,@pre_y, @now_x,@now_y, GRAPH_SCALINE_COLOR)
     self.contents.draw_line(@pre_ex,@pre_ey, @now_ex,@now_ey, @color1, 2, @color2)
     self.contents.font.size = FONT_SIZE
     self.contents.font.color = system_color
     self.contents.draw_text(@now_wx,@now_wy, FONT_SIZE*2, FONT_SIZE, estr, 1)
     self.contents.font.color = Color.new(255,255,255,128)
     self.contents.draw_text(@now_vx,@now_vy, FONT_SIZE*2, FONT_SIZE, er.to_s + "%", 2)
   end
 end
 
  #--------------------------------------------------------------------------
  # ● 属性補正値の取得
  #     element_id : 属性 ID
  #--------------------------------------------------------------------------
  def element_pourcent(enemy, element_id)
    table = [0,200,150,100,50,0,-100]
    return table[enemy.element_ranks[element_id]]
  end
end
#==============================================================================
# ¸ ¦O�����C�u���¦
#==============================================================================
class Bitmap
 def draw_line(start_x, start_y, end_x, end_y, start_color, width = 1, end_color = start_color)
   distance = (start_x - end_x).abs + (start_y - end_y).abs
   if end_color == start_color
     for i in 1..distance
       x = (start_x + 1.0 * (end_x - start_x) * i / distance).to_i
       y = (start_y + 1.0 * (end_y - start_y) * i / distance).to_i
       if width == 1
         self.set_pixel(x, y, start_color)
       else
         self.fill_rect(x, y, width, width, start_color)
       end
     end
   else
     for i in 1..distance
       x = (start_x + 1.0 * (end_x - start_x) * i / distance).to_i
       y = (start_y + 1.0 * (end_y - start_y) * i / distance).to_i
       r = start_color.red   * (distance-i)/distance + end_color.red   * i/distance
       g = start_color.green * (distance-i)/distance + end_color.green * i/distance
       b = start_color.blue  * (distance-i)/distance + end_color.blue  * i/distance
       a = start_color.alpha * (distance-i)/distance + end_color.alpha * i/distance
       if width == 1
         self.set_pixel(x, y, Color.new(r, g, b, a))
       else
         self.fill_rect(x, y, width, width, Color.new(r, g, b, a))
       end
     end
   end
 end
end
 
class Game_System
  attr_accessor :bestiaire
  alias kraz_bestiaire_initialize initialize
  def initialize
    @bestiaire = []
    for i in 0...$data_enemies.size
      @bestiaire[i] = 0
    end
    kraz_bestiaire_initialize
  end
end




Ce second script intègre le bestiaire dans le menu du jeu, il ne fonctionnera qu'avec le menu de base non modifié, sinon c'est uniquement du cas par cas, faites la demande dans les commentaires.

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
#==============================================================================
# ■ Intégration du Bestiaire 2.0 dans le menu de base (RPG Maker VX)
#------------------------------------------------------------------------------
# par Krazplay
#------------------------------------------------------------------------------
# Ceci ne fonctionnera pas si vous avez déjà des modifications dans votre
# menu principal !
# Dans ce cas-là pas de miracle, soit vous modifiez votre menu vous-même,
# soit vous essayer de voir ça dans le sujet du script sur Oniromancie
# (http://www.rpg-maker.fr)
#==============================================================================
class Scene_Menu < Scene_Base
  #--------------------------------------------------------------------------
  # * Create Command Window
  #--------------------------------------------------------------------------
  def create_command_window
    s1 = Vocab::item
    s2 = Vocab::skill
    s3 = Vocab::equip
    s4 = Vocab::status
    s5 = Vocab::save
    s6 = Vocab::game_end
    s7 = "Bestiaire"      # Ajout de s7 pour le Bestiaire
    # Et là dans la liste des choix j'ajoute bestiaire entre Status et Sauvegarde
    @command_window = Window_Command.new(160, [s1, s2, s3, s4, s7, s5, s6])
    @command_window.index = @menu_index
    if $game_party.members.size == 0          # If number of party members is 0
      @command_window.draw_item(0, false)     # Disable item
      @command_window.draw_item(1, false)     # Disable skill
      @command_window.draw_item(2, false)     # Disable equipment
      @command_window.draw_item(3, false)     # Disable status
    end
    if $game_system.save_disabled             # If save is forbidden
      @command_window.draw_item(5, false)     # Disable save
    end
  end
  #--------------------------------------------------------------------------
  # * Update Command Selection
  #--------------------------------------------------------------------------
  def update_command_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      $scene = Scene_Map.new
    elsif Input.trigger?(Input::C)
      if $game_party.members.size == 0 and @command_window.index < 4
        Sound.play_buzzer
        return
      elsif $game_system.save_disabled and @command_window.index == 4
        Sound.play_buzzer
        return
      end
      Sound.play_decision
      case @command_window.index
      when 0      # Item
        $scene = Scene_Item.new
      when 1,2,3  # Skill, equipment, status
        start_actor_selection
      when 4      # Bestiaire
        $scene = Scene_Bestiaire.new # On lance la scene du Bestiaire
      when 5      # Save
        $scene = Scene_File.new(true, false, false)
      when 6      # End Game
        $scene = Scene_End.new
      end
    end
  end
end






dark-vader - posté le 09/06/2010 à 18:12:44 (112 messages postés)

❤ 0

Bilou...BILOU...bilou

je pense que je vais me remettre sur Vx pour essayer ce scripts...


Spazoo - posté le 09/06/2010 à 18:14:37 (16 messages postés)

❤ 0

Guitariste à 4 cordes! Le MI n'est pas mon ami...

J'adore ton script!!! :) Beaucoup mieux que l'ancienne version!
Mais comment fait-on pour cacher les monstres que l'on n'a pas rencontrés?


dark-vader - posté le 09/06/2010 à 20:53:42 (112 messages postés)

❤ 0

Bilou...BILOU...bilou

En faite...4000 variable...GLOUPS...j'en aurais besoin de ces 4000 variables. Laisse tomber !


Krazplay - posté le 09/06/2010 à 22:38:20 (17 messages postés)

❤ 0

Citrouille Maboule

Spazoo : Regarde au début du script, il y a la ligne : "MONSTRES_INCONNUS_INVISIBLES = false", remplace simplement le false par true

dark-vader, tu as mal lu, le script n'utilise pas du tout 4000 variables, juste une variable par monstre, et par défaut ça commence à la variable 4000, mais tu n'es même pas obligé de les utiliser, il faut changer la ligne TYPE_SAUVEGARDE.
Je garde la sauvegarde par variables parce que c'est ce qu'utilisait l'ancienne version, mais je changerai la config par défaut à la prochaine version (imminente vu le temps qu'a pris le script a être validé ^^")

Ha oui, y aura une version XP de la 2.1, quasi-identique à la version VX.


Spazoo - posté le 10/06/2010 à 13:54:33 (16 messages postés)

❤ 0

Guitariste à 4 cordes! Le MI n'est pas mon ami...

Merci à toi Krazplay! :)


dark-vader - posté le 10/06/2010 à 17:37:08 (112 messages postés)

❤ 0

Bilou...BILOU...bilou

Ha...ça me soulage...je m'en vais le tester tout de suite !


Lycan - posté le 18/06/2010 à 01:25:10 (3 messages postés)

❤ 0

Salut à tous !!!
Très bien ce script, le seul problème c'est que mon jeu ne veux pas le lancer. Sa marque "Script 'Scene_Menu' line 179: SyntaxError occurred":'(
Que faut-il modifier sur le script ?


ceccile21 - posté le 18/06/2010 à 12:09:25 (76 messages postés)

❤ 0

Ok,tout marche très bien, mais c'est ou que je met MONSTRES_INCONNUS_INVISIBLES = false ?

Parce que je n'ai pas très bien compris ou le placer ... :)


Ebrayana - posté le 23/06/2010 à 19:23:48 (323 messages postés)

❤ 0

Merci pour le Script !! il est super bien:plusun


Pauldcool - posté le 26/06/2010 à 16:22:58 (102 messages postés)

❤ 0

LoL, j'ai réussi à adapter moi-même le script d'amélioration de Moghunter modifié par Berka à l'intégration du Bestiaire...

Je sais plus trop ce que j'ai fais mais j'ai dû enlever le temps et la map dans le script d'amélioration, ça a donné ça :


image


Il me semble que j'ai supprimé tout ce qui était map et temps dans le script d'amélioration (hop à chaque error quand je lance le menu après je kick les lignes indiquées...), et ensuite, j'ai copié le bout de ton script qui gérait le menu dans l'autre script à l'endroit qui semblait presque identique...

Ca dit à quelqu'un que je poste les scripts ?^^

horizonrpg.canalblog.com


argoune - posté le 06/07/2010 à 21:43:34 (1 messages postés)

❤ 0

Bonjour, il marche super bien bravo pour ton script


magicalichigo - posté le 08/07/2010 à 11:30:48 (1027 messages postés)

❤ 0

Fish

désolé du UP mais j'ai une question, peut il être configuré pour marcher avec l'ABS ?
Je veux dire qu'il faudrait qu'on puisse voir les monstres que si on les a tués, mais ca ne marche qu si on les tue avec le SBS ou les conbats de bases, et non avec l'ABS
C'est possible ?

Ma bande dessinée / Mon site


clix - posté le 23/08/2010 à 23:51:20 (3 messages postés)

❤ 0

Sa marche pas Chez moi:'(


Fred - posté le 26/08/2010 à 02:56:11 (37 messages postés)

❤ 0

Epéliste en colère

;)Il est tros cool ton bestiare

beaucoup de choses se passe mais quoi que vous fassiez quelqu'un ous regarde d'un mauvais oeil


timtrack - posté le 18/09/2010 à 15:01:08 (660 messages postés)

❤ 0

Plop

Ca à l'air super, je test sur le champs, en plus j'aimais pas voir le nombre de monstres dans le jeu, ça gâchais le suspens.

EDIT : Ce script marche parfaitement même sur un projet avec pas mal de script.

Projet actuel


Raydra - posté le 02/10/2010 à 16:55:24 (7 messages postés)

❤ 0

Je suis rien.

Le Script marche super bien,merci.
Au fait,pour l'autre Script qui intègre le Bestiaire au menu,on peut l'utiliser si on a modifié le menu avant.Il suffit de fusionner le Script Bestiaire avec celui qui change le menu.Et ca marche a merveille.Oh,merci Krazplay ! Merci ! Merci ! Merci ! Merci !!


Dragoa - posté le 20/11/2010 à 15:58:24 (6 messages postés)

❤ 0

Bon script, pour ma part, mon menu êtais deja modifié avec le menu quête, mais en 5 minutes j'ai reussi a intégré les 2, vraiment pas dur^^


Raamza - posté le 03/12/2010 à 21:22:26 (42 messages postés)

❤ 0

Sur un projet nommé: Hopeless (sans espoir)

Ton bestiaire est trop top merci mec :banane

ps : pour ce qui veulent, voilà comment l'ouvrir avec F5 : Portion de code (à mettre au dessus de main)

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
#=================================
 
#                                                                    
 
#                  Script d'ouverture de menu de Bestiare         
                                                               
 
#==================================
 
 
 
=begin
 
 
 
====Notice====
 
_________________________________________________________
 
     Ce script permet d'appeler le bestiaire à partir de la touche F5
 
     Script pour Rpg Maker VX.
 
     Le script se place au dessus du script "Main".
 
_________________________________________________________
 
=end
 
 
 
 
 
 
 
class Scene_Map 
 
  
 
  
 
  
 
  #------------------------------------------
 
  #      Update pour réactualiser
 
  #-----------------------------------------
 
def update
 
   
 
  
 
#....................................................  
 
# Update du script Scene_Map
 
#....................................................  
 
  
 
    super # Update de Scene_Map pour éviter le Gel du perso
 
    $game_map.interpreter.update      # Update interpreter
 
    $game_map.update                  # Update map
 
    $game_player.update               # Update player
 
    $game_system.update               # Update timer
 
    @spriteset.update                 # Update sprite set
 
    @message_window.update            # Update message window
 
    unless $game_message.visible      # Unless displaying a message
 
      update_transfer_player
 
      update_encounter
 
      update_call_menu
 
      update_call_debug
 
      update_scene_change
 
    end
 
  
 
#....................................................  
 
# Ajout de l'appelle Bestaire
 
#....................................................  
 
  bestiaire
 
  end
 
 
 
 
 
 
 
  #---------------------------------------
 
  #      Methode Bestaire
 
  #---------------------------------------
 
  
 
  
 
def bestiaire
 
if Input.press?(Input::F5) #Touche pour le bestiaire.
 
        $scene = Scene_Bestiaire.new  #Appeler le menu bestiaire. 
 
end
 
end
 
end 
 
  
 
#================================
 
#  Fin du script : Ouverture de menu de Bestaire 
 
 
#================================








Pour l'utiliser, appuyer sur F5, tout simplement :sfrog

Pour sauver un arbre, tuer un castor !


Death The Kid - posté le 10/12/2010 à 18:43:57 (12 messages postés)

❤ 0

Je suis gelé

Mhh... Une erreur à la ligne 609 ! je sais pas pourquoi, mais je suis nul en codage ! Quelqu'un peut m'aider ?

Entre le dessin, le making, la musique et le collège, j'ai plus de temps libre !


Raamza - posté le 10/12/2010 à 22:57:28 (42 messages postés)

❤ 0

Sur un projet nommé: Hopeless (sans espoir)

Peux-tu dire ce qu'il y a écrit quand ça te dis qu'il y a une erreur et écris aussi ta ligne je vais essayer de t'aider. :sfrog

Pour sauver un arbre, tuer un castor !


thom123 - posté le 25/12/2010 à 13:26:47 (47 messages postés)

❤ 0

Eh! c'est pas parce que tu suce des glands que tu deviendras un écureuils, hein!

Ouah!
Je suis debutant et je trouve ce script super!


Yannisbosse - posté le 28/01/2011 à 21:11:11 (5 messages postés)

❤ 0

Sa marche pas dite moi comment on fait


benbene - posté le 08/02/2011 à 17:44:29 (16 messages postés)

❤ 0

Historien Maker Poète déchiré

c vrai jarrive po i me dise le sa marche po!:'(

On Flander's Field... Projet de jeu historique sur la Première Guerre Mondiale http://rpgmakermv.fr/forum/topic-375.php


toti22 - posté le 09/02/2011 à 18:00:12 (31 messages postés)

❤ 0

Merci, très bon script ! Marche nickel !

Les hommes veulent toujours être le premier amour d'une femme. C'est là leur vanité maladroite. Les femmes ont un sens plus sûr des choses: ce qu'elles veulent, c'est être le dernier amour d'un homme. - Oscar Wilde


madmanu - posté le 23/02/2011 à 13:25:09 (85 messages postés)

❤ 0

le script marche mais il n'y a pas de"monstre in connu" dans mon bestiaire :help me!


X-Sudof - posté le 05/03/2011 à 13:31:24 (1 messages postés)

❤ 0

Bonjour,

Ton script a l'air pas mal, j'en ai trop besoin
mais quand je vais dans le menu (IG) et que je clique bestiaire sa me fait sa :
image
aidez moi svp

Merci d'avance


zabumochi - posté le 18/03/2011 à 18:59:19 (36 messages postés)

❤ 0

Prince

X-Sudof j'ai trouvé !
Remplace la ligne 35 de selectable par

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


Zayl - posté le 26/03/2011 à 19:08:31 (22 messages postés)

❤ 0

Le scénario de mon jeu ? C'est quoi un scénario ?

J'ai un problême moi aussi !
Dans mon jeu j'ai désactivé les sauvegardes depuis le menu... et du coup je ne peux pas ouvrir le bestiaire:'(.
Si quelqu'un pouver m'aider:help ce serais vraiment sympa:flaco.
Merci d'avance !

Je réduirai en esclavage tous les humains !!! Zayl, le chat schizo.


jodge65 - posté le 07/04/2011 à 16:22:30 (25 messages postés)

❤ 0

Tu pourrait préciser ce que tu entent par "j'ai désactiver les sauvegarde depuis le menu"?


Nemense - posté le 16/04/2011 à 12:14:46 (1 messages postés)

❤ 0

Chercheur de nouveautés

ton script marche bien dans le menu mais quand je termine un combat, ça me fait un message :

Script 'Scene_Bestiaire' line 121: NoMethodError occurred.
undefined method `[]' for nil:NilClass

aidez-moi s'il vous plait, si ça peut vous aider, j'ai les scripts Combat vue de côté, Faceset dans le combat, Mouse Over, Musique de menu, durée de jeu et localisation dans le menu, ennemi flashé quand il est sélectionné en combat.

Merci à ceux qui peuvent m'aider !


Zayl - posté le 18/04/2011 à 12:08:59 (22 messages postés)

❤ 0

Le scénario de mon jeu ? C'est quoi un scénario ?

"Tu pourrait préciser ce que tu entent par "j'ai désactiver les sauvegarde depuis le menu"?"

C'est à dire que j'ai mis un événement qui empéche l'accés aux sauvegardes en ouvrant le menu, cliquer sur sauvegarder ne fait rien et il faut un autre évenement nommé "ouvrir le menu de sauvegarde" pour y accéder...

Il peut sembler qu'il n'y a aucun rapport mais j'ai testé avec et sans c'est de là que viens le problême... si c'est impossible à régler ditent le moi:sourit.

Je réduirai en esclavage tous les humains !!! Zayl, le chat schizo.


Valior - posté le 25/04/2011 à 18:00:46 (1 messages postés)

❤ 0

Salut est-ce que quelqu'un pourrait me rajouter un truc pour que lorsqu'on est sur le menu d'un monstre et qu'on appuie sur Entrée une nouvelle fenêtre s'ouvre avec l'historique de ce monstre?

Merci d'avance.

[url=http://forumdesguitaristes.forumsmusic.com][img]http://www.web-modules.net/upload/cache/userbar/140/361.gif[/img][/url]


kristos - posté le 27/04/2011 à 09:19:39 (13 messages postés)

❤ 0

J'ai un souci, j'ai installé le script, là tout va bien, je fais un combat et à la fin j'ai ceci
image



Voilà ma ligne 62
$game_system.bestiaire[id_monstre] += nombre


Skatino - posté le 03/05/2011 à 15:42:41 (53 messages postés)

❤ 0

Vive rpg-maker.fr !

@Kristos : J'ai la même erreur, t'as réussi à régler ca ?


jenjeur - posté le 07/05/2011 à 20:55:16 (1 messages postés)

❤ 0

c'est une épidémie ce bug
je l'ai aussi
mais bon j'apprend le ruby alors j'pourrais coriger d'ici 2 ans:lol


masterhunter13 - posté le 17/05/2011 à 19:35:18 (40 messages postés)

❤ 0

(très) jeune maker

je vais peut être passer pour un boulet mais j'ai une erreur à la
ligne 62...:help me

j'ai la flemme d'écrire une signature...


darkal - posté le 18/06/2011 à 20:02:18 (285 messages postés)

❤ 0

Essayer tout simplement de supprimer la ligne!Moi j'avais un bug ligne 124 et j'ai supprimé la ligne et depuis tout marche!
Super Script!XD


Rosbif - posté le 02/08/2011 à 14:50:16 (7 messages postés)

❤ 0

Visiblement c'est un bug récurrent :-/
J'en suis moi même atteint, et franchement j'aimerai bien
la delete pour qu'elle arrête de me faire planter, mais
apparement c'est cette ligne qui compte les monstres
tués, et ça, y'en a besoin pour la suite... :s

En plus clair, ça veut dire qu'on a un bestiaire éternellement
vide sans cette ligne :goutte


EDIT: En fait on peut la supprimer, mais dans ce cas, à la ligne 42,
il faut mettre "TYPE_SAUVEGARDE = 0"
dans ce cas, le script fonctionne nickel :fou


Ramis89 - posté le 06/08/2011 à 22:34:19 (6 messages postés)

❤ 0

X-Sudof a dit:


Bonjour,

Ton script a l'air pas mal, j'en ai trop besoin
mais quand je vais dans le menu (IG) et que je clique bestiaire sa me fait sa :
image
aidez moi svp

Merci d'avance



Bonjour, j'ai pareil que toi sauf que j'ai Window_command live, et sa le fait des que je démarre le jeu.
SVP HELP!


zabumochi - posté le 20/08/2011 à 16:03:19 (36 messages postés)

❤ 0

Prince

Ramis89 a dit:




Bonjour, j'ai pareil que toi sauf que j'ai Window_command live, et sa le fait des que je démarre le jeu.
SVP HELP!
[/quote]

J'ai répondu en dessus de X-sudof :)


Le*Jambon - posté le 25/08/2011 à 10:49:06 (9 messages postés)

❤ 0

Taisez-moi par pitié je vais encore dire des choses

Hum... Comme l'on dit quelques internautes précédemment,j'ai trouvé un bug :( (ligne 99 pour mon cas) concernant la ligne suivante :

"$game_system.bestiaire[id_monstre]+= nombre" :s

Visiblement, d'après le message d'erreur, VX ne reconnait pas ce qui est marqué entre crochets
(le message indique "Unidefined "[]=" for 0 : Fixnum")

Ne cassant pas des briques en ruby, j'aimerais bien qu'un gentil maker me dise comment résoudre ce problème... :doute1

Merci d'avance. ;)

PS : Ledit maker aura droit à la médaille du courage. :)

La vie est une maladie mortelle sexuellement transmissible.


Fantasy© - posté le 13/09/2011 à 18:17:18 (1 messages postés)

❤ 0

Euh, j'ai un problème......il y a des trucs que j'ai pas compris : class Bitmap mais j'vois pas Bitmap dans les programmes


Arko-Zey - posté le 17/09/2011 à 17:43:11 (160 messages postés)

❤ 0

[SERIEUSEMENT]A mort le collége!!! Vive le making!!!!!!

Génial, merci Krazplay!!!!!!:grossourire:banane:youpi:bob

Je suis le ninja ancestral et je butte tous ceux qui détestent RPG MAKER VX!!!! | Inscrivez-vous sur http://arcadia-universe.xooit.fr/


raboulave - posté le 16/01/2013 à 19:53:47 (15 messages postés)

❤ 0

Bonjour, je remonte de beaucoup le topic mais moi
j'ai pris la version qui se lance depuis le Menu et quand je veux ouvrir le bestiaire, j'ai une erreur à la ligne 117 :
script 'Scene_Bestiaire' ligne 117 : NameError occurred.
uninitialized constant Scene_Menu::Scene_Bestiaire
J'ai pourtant bien appelé le script Scene_Besitiare et je l'ai placé à la fin de la liste des scripts de game_Scene.
Est-ce parce que j'ai rajouté des mobs en plus de ceux existants ? :s
Merci de m'aider ! :)


linkdeboulogne - posté le 20/06/2013 à 13:21:50 (112 messages postés)

❤ 0

En mode Rpg

Merci, ça marche !! :D

https://www.facebook.com/pages/Zelda-France/107971829261640?ref=hl


Rosbif - posté le 03/08/2013 à 19:27:53 (7 messages postés)

❤ 0

Si vous avez des problèmes avec la commande qui bloque la sauvegarde et l'ouverture du bestiaire, il suffit de changer la ligne 48, en remplaçant le 4 par un 5 :sourit


Akagi_Hydren - posté le 16/11/2013 à 11:24:57 (156 messages postés)

❤ 0

Non.

Hey ^^ serais t-il possible quand on est dans le bestiaire de mettre la musique des monstres battue :) ?
Exemple je bat un monstre > je vais dans le bestiaire > je regarde ce monstre > son battle theme se joue
Et pareil pour les boss ? :)

Je suis frais.


Windam - posté le 13/01/2014 à 14:42:39 (6 messages postés)

❤ 0

Yop yop ! ( Désolé du up du post^^) J'ai un autre problème , le script marche nickel quand je le test j'ai tous les monstres qui s'affichent (Sauf le nombre de tuer qui ne monte pas.)

Quand je cache les monstres et les rends donc inaccessible , plus aucuns moyen de voir le bestiaire , a chaque monstres tuer ça ne compte pas le nombre de tuer ne monte pas et le monstre reste en " monstre inconnu "

Et j'ai pas envie de mettre tous les monstres affiché c'est comme du spoil :p


Dedene 974 - posté le 27/12/2020 à 12:35:47 (3 messages postés)

❤ 0

Ce script est vraiment génial et il fonctionne très bien.


Dedene 974 - posté le 17/02/2021 à 12:05:30 (3 messages postés)

❤ 0

Bonjour, je sais que le dernier est un très ancien post mais je voudrais savoir comment ouvrir le bestiaire via un event commun.

Répondez vite SVP :feu:feu:feu!!! Je suis en train de travailler sur un jeu qui s'appèle The Game.

Edit : Je veux bien savoir comment faire via un interrupteur.


Gari - posté le 17/02/2021 à 12:42:12 (5901 messages postés) - honor

❤ 0

Bof, les nécroposts sur les scripts/tutoriels c'est pas possible de toute manière ^^'

Si tu avais lu le bordereau du script, tu aurais vu que :

Citation:

# Pour appeler ce menu il suffit d'utiliser la ligne suivante :
# $scene = Scene_Bestiaire.new
# Cette scene renvoie au menu lorsqu'elle se termine, si vous voulez qu'elle
# ramène sur la carte plutôt qu'au menu, ajouter l'argument false :
# $scene = Scene_Bestiaire.new(false)



Donc dans ton event commun, tu fais juste un appel de script avec $scene = Scene_Bestiaire.new, et ça ouvre le bestiaire. Je suppose que l'interrupteur c'est pour la condition (si on a le bestiaire ou non dans le jeu), tu peux faire ça directement via le lancement de l'événement commun.


Dedene 974 - posté le 17/02/2021 à 13:48:59 (3 messages postés)

❤ 0

Merci beaucoup c vrai que je lis pas beaucoup les scripts

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