Night.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", (...) / Tutos: Checklist de la composition (...) / Sorties: Dread Mac Farlane - episode 8 / Sorties: Dread Mac Farlane - episode 7 / Jeux: Ce qui vit Dessous / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

344 connectés actuellement

29453032 visiteurs
depuis l'ouverture

18911 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

RPG Fusion

Alex d'Or

ConsoleFun

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:

terzarok - posté le 16/05/2015 à 14:04:29 (345 messages postés)

❤ 0

Support : RMXP
Question : Optimiser le script Balloon Messages


Bonjour :)

J'utilise le script http://moonpearl-gm.blogspot.fr/2012/02/bubble-messages.html de MoonPearl pour transformer les messages textes en bulles de BD pour faire parler les persos.
Mais ce script a un défaut au niveau des combats, ça fait planter le jeu lorsque je veux faire parler un des combattants (ennemi ou allié).
Sauriez-vous comment on pourrait améliorer ça sans remplacer entièrement le(s) script(s) en question par celui-ci par exemple https://github.com/wachunga/rmxp-multiple-message-windows ?
Je ne m'y connais pas trop (sur une échelle de 10, je dois être à 2 ou 3) en scripts, et je dois avouer que refaire entièrement les dialogues de mon jeu parce que les interrupteurs et variables ne sont pas les mêmes ne m'enchante guère ! ^^'


Merci d'avance :)

Il y a des gens qui passeraient des heures à expliquer qu'ils sont débordés. Moi sur Deviantart


Suite du sujet:

arttroy - posté le 18/05/2015 à 18:44:52 (2394 messages postés)

❤ 0

Just working

Bonjour les gens, j'aurais une question concernant les objets...

Support :RMVX ace

Question 1 (résolu) :

Est il possible de faire en sorte que des objets (id 2 à 10 inclus dans la BDD) ne s'additionnent pas mais se dupliquent lorsqu'on les ramasse en jeu (principe des herbes dans la série resident evil) ?

Si quelqu'un pouvait m'éclairer ça m'arrangerait bien s'il vous plaît.

C'est bon problème réglé ^^

Anti-inconstructivité / Pétition pour que le mot making soit inscrit dans le dictionnaire ?


Evolite - posté le 05/06/2015 à 12:23:45 (6 messages postés)

❤ 0

Bonjour, j'aimerais savoir comment mettre a jour un statut ( comme le poison) a jour via un script,car en normal ça me prendrait juste 10 ans, en modifiant son effet via une variable. par ex: le statut a pour effet un taux de récupération de PV * 90%, mais la variable a changé, et je veut mettre a jour l'effet du statut, en mettant taux de récupération de PV * 80% par ex. merci d'avance.


hassen - posté le 11/06/2015 à 01:29:20 (580 messages postés)

❤ 0

Alien

Logiciel utilisé : Xp

Salut tout le monde !!
j'ai entre les mains un script sur rpg maker Xp pour afficher une mini map, il marche nickel, mais je veux un code ou un interrupteur pour activer et désactiver la mini map, vous pouvez m'aidez ?

http://www.gdunlimited.net/forums/topic/3556-xp-the-best-minimap-ever/

School Urban Legends


Danzaiver - posté le 11/06/2015 à 02:29:04 (364 messages postés)

❤ 0

Pourquoi s’embêter avec un script que l'ont ne comprend pas, quand ont peut le faire en évent ?

Je me permet de te mettre un tuto pour faire une mini map en event au cas ou tu n'aurai pas de réponse :

https://www.youtube.com/watch?v=HVRqa4QTUL8

Sache que j'utilise ce système que j'ai améliorer en trois tailles différente + gestion de la transparence par le joueur.


hassen - posté le 12/06/2015 à 14:00:04 (580 messages postés)

❤ 0

Alien

Je vais te dire pourquoi j'utilise ce magnifique script au lieu du tien (que je conaissait déja) parce que il affiche la map entiére en mini map avec les moindres détails et ça c'est difficile a faire en événement.
Tu devrais essayer mon script pour voir la différence, et merci quand méme.

School Urban Legends


TheBigRoomXXL - posté le 14/06/2015 à 09:01:54 (237 messages postés)

❤ 0

el psy congroo

Bonjour, bonsoir

Support :RMVX ace

Question 1 :
Quand on utilise l'Event Extender comment obtenir l'IP d'une fenêtre pour utilisé les commandes de manipulation de fenêtre?

Question 2:
Est-il possible grâce à la commande "open_window(id)" d'appelé une fenêtre créer avec window maker (un petit logiciel qui permet de créer un fenêtre et de sauvegarder son code dans un ficher texte) ?

Merci d'avance.


Nukidoudi - posté le 14/06/2015 à 11:43:05 (733 messages postés) -

❤ 0

yo

Question 1 :
La création d'une fenêtre fonctionne comme une image. Tu lui attribues un ID et après tu utilises cet ID pour faire des manipulation.
Tu pourras trouver un exemple d'utilisation des fenêtres, qui n'est pas très simple ici : http://rmex.forumactif.org/t28-coffre-de-stockage

Question 2 :
Non.

https://xvw.lol


brikou - posté le 25/06/2015 à 20:16:35 (282 messages postés)

❤ 0

Support : RMVXAce

Il y a un problème dans ce script qui fait faire au jeu des "RGSS a cessé de fonctionner" à répétition :

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
#==============================================================================
# ** Scene_Map
#------------------------------------------------------------------------------
#  This class performs the map screen processing.
#==============================================================================
 
class Scene_Map < Scene_Base
  #--------------------------------------------------------------------------
  # * Start Processing
  #--------------------------------------------------------------------------
  def start
    super
    SceneManager.clear
    $game_player.straighten
    $game_map.refresh
    $game_message.visible = false
    create_spriteset
    create_all_windows
    @menu_calling = false
    create_window_health
    create_window_gauge
    if $game_switches[Listhere::HUDSwithID] == true
      @window_health.visible = true
      @window_gauge.visible = true
      @window_health.show
      @window_gauge.show
    else
      @window_health.visible = false
      @window_gauge.visible = false
      @window_health.hide
      @window_gauge.hide
      end
    end
    
    def terminate
    super
    @window_health.dispose
    @window_gauge.dispose
    SceneManager.snapshot_for_background
    dispose_spriteset
    perform_battle_transition if SceneManager.scene_is?(Scene_Battle)
  end
  
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    super
    $game_map.update(true)
    $game_player.update
    $game_timer.update
    @spriteset.update
    @window_gauge.refresh
    if $game_switches[Listhere::HUDSwithID] == true
      @window_health.visible = true
      @window_gauge.visible = true
      @window_health.show
      @window_gauge.show
    else
      @window_health.visible = false
      @window_gauge.visible = false
      @window_health.hide
      @window_gauge.hide
      end
    update_scene if scene_change_ok?
  end
  
  def create_window_health
    @window_health = Window_Health.new(0, -39, 1)
  end
  
  def create_window_gauge
    @window_gauge = Window_Gauge.new
    end
  
end
 



Le script affiche sur la map deux fenêtres, un HUD et une jauge (window_health et window_gauge)
Si un interrupteur est activé, les fenêtres sont visibles, sinon elles sont invisibles.

Peut-être un problème avec les dispose mal placés qui font afficher 8000 fenêtres sans les effacer ?

Chromochimi (Arcade / Terminé) ||| La Question (Mini-jeu narratif / Terminé !) ||| Blade Converter (A-RPG ~ Beat them all / En cours !) ||| Des mini-projets Unity !


cortez - posté le 25/06/2015 à 23:15:11 (523 messages postés)

❤ 0

@brikou
Normalement un :
@spriteset.dispose
que tu place après la ligne 41 devrait résoudre les problèmes. Ou 31 si la manipulation ne change rien.
Je connait bien XP mais VXace modifie tout avec ses def Start et def Terminate.


brikou - posté le 25/06/2015 à 23:34:09 (282 messages postés)

❤ 0

Je crois pas que j'ai à le changer, c'est déjà géré par le script de base.
Je pense que le souci vient surtout des fenêtres que j'ai ajouté.

Chromochimi (Arcade / Terminé) ||| La Question (Mini-jeu narratif / Terminé !) ||| Blade Converter (A-RPG ~ Beat them all / En cours !) ||| Des mini-projets Unity !


arttroy - posté le 26/06/2015 à 00:46:02 (2394 messages postés)

❤ 0

Just working

Tes lignes .visible = true sont la même chose que les .show et les .visible = false les mêmes que .hide tu peux virer les unes ou les autres ça devrait rien changer déjà (quoique peut être que si... Vu que tu demande au log de faire deux fois la même chose il aime peut être pas ça).

Edit : Ton souci viendra plutôt de l'update à mon avis, tu n'as rien touché aux scripts d'origine donc ça vient bien des fenêtres que tu as rajouté. Essaie d'enlever ta condition de l'update et tu la met dans une method genre def update_gauges que tu appelles dans l'update.

Anti-inconstructivité / Pétition pour que le mot making soit inscrit dans le dictionnaire ?


brikou - posté le 26/06/2015 à 08:56:21 (282 messages postés)

❤ 0

Les méthodes .hide et .show c'est des méthodes que j'ai créé et qui changent juste l'opacité des sprites présents dans les window (opacité = 0 pour .hide et opacité = 255 pour .show) alors que les visible = true / false, c'est pour effacer les textes/ contours de la fenêtre.

Je vais essayer en modifiant l'update.

Edit : Hélas, ça n'arrange rien. :(
J'ai oublié de le dire dans mon premier post, mais oui, mes fenêtres contiennent des images. J'ai l'impression que ça plante quand on change de scene, aussi. Quand on passe du menu de sauvegarde à la map ou du menu principal à la map.

Edit2 : Je crois avoir réussi ^^
Finalement c'est mon window_health que j'ai modifié :

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
class Window_Health < Window_Base
  
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     x : window X coordinate
  #     y : window Y coordinate
  #--------------------------------------------------------------------------
  def initialize(actor, x, y)
    super(x, y, 160, 160)
    
    self.opacity = 0
    @actor = actor
    @viewports = {}
    #Character 1
    @viewports[1] = Viewport.new(40 + x, y, 60, 20)
    @viewports[1].z = 100 
    @viewports[2] = Viewport.new(97 + x, y, 3, 20)
    @viewports[2].z = 107
    #Fade Effect
    @viewports[3] = Viewport.new(40 + x, y, 61, 20)
    @viewports[3].z = 104
    #Highlight Effect
    @viewports[4] = Viewport.new(40 + x, y, 60, 20)
    @viewports[4].z = 103
    #Border Effect
    @viewports[5] = Viewport.new(40 + x - 9, y - 5, 80, 30)
    @viewports[5].z = 106
    #Burst Effect
    @viewports[6] = Viewport.new(40 + x, y, 60, 20)
    @viewports[6].z = 105
    #
    @health = Plane.new(@viewports[1])
    @healthlead = Plane.new(@viewports[2])
    @health.bitmap = Cache.system("+75%Health.jpg")
    @healthlead.bitmap = Cache.system("+75%HealthLead")
    @healthlead.ox = 57
    @healthlead.blend_type = 1 
    @healthtrim = Sprite.new(@viewports[3])
    @healthtrim.bitmap = Cache.system("HealthTrim")
    @healthlight = Plane.new(@viewports[4])
    @healthlight.bitmap = Cache.system("HealthHighlight")
    @healthlight.blend_type = 1
    @healthtop = Plane.new(@viewports[4])
    @healthtop.bitmap = Cache.system("+75%HealthTop")
    @healthborder = Sprite.new(@viewports[5])
    @healthborder.bitmap = Cache.system("HealthBorder")
    @healthborder.opacity = 175
    @burst = Plane.new(@viewports[6])
    @burst.bitmap = Cache.system("Burst-NONE")
    @burst.opacity = 0
    update
  end
  #--------------------------------------------------------------------------
  # * Update
  #--------------------------------------------------------------------------
  def update
    check_hp
    @healthlight.ox -= 1
    @health.ox += 1
    @healthlead.ox += 1
    @healthtop.ox += 1
  end
  
 
  #==========================================================================
  # * Check HP
  #==========================================================================
  def check_hp
    if $game_variables[20] == 1 #POISON
      @health.bitmap = Cache.system("PoisonHealth.jpg")
      @healthlead.bitmap = Cache.system("PoisonHealthLead")
      @healthtop.bitmap = Cache.system("PoisonHealthTop")
    elsif $game_variables[20] == 100 #DEAD
      @health.bitmap = Cache.system("0%Health.jpg")
      @healthlead.bitmap = Cache.system("0%HealthLead")
      @healthtop.bitmap = Cache.system("0%HealthTop")
    elsif $game_variables[20] < 25 #Below 25%HP
      @health.bitmap = Cache.system("25%Health.jpg")
      @healthlead.bitmap = Cache.system("25%HealthLead")
      @healthtop.bitmap = Cache.system("25%HealthTop")
    elsif $game_variables[20] < 75 #Below 75%HP
      @health.bitmap = Cache.system("-75%Health.jpg")
      @healthlead.bitmap = Cache.system("-75%HealthLead")
      @healthtop.bitmap = Cache.system("-75%HealthTop")
    elsif $game_variables[20] > 75 #Above 75%HP
      @health.bitmap = Cache.system("+75%Health.jpg")
      @healthlead.bitmap = Cache.system("+75%HealthLead")
      @healthtop.bitmap = Cache.system("+75%HealthTop")
    end
  end
  
  #--------------------------------------------------------------------------
  # * Dispose
  #--------------------------------------------------------------------------
  def dispose
    super
    for view in @viewports.values
      next if view == nil
      view.dispose
      view = nil
    end  
    @viewports.clear
    @viewports = {}
    @health.dispose
    @healthlead.dispose
    @healthtrim.dispose
    @healthlight.dispose
    @healthtop.dispose
    @healthborder.dispose
    @burst.dispose
  end
  
end



Dans le def dispose, j'ai supprimé tout ce qui se rapportait aux viewports (lignes 97 à 103)
Et maintenant, le rgss ne plante plus. Par contre je sais pas du tout pourquoi xD
Mais ça a l'air de marcher ! 8D

Chromochimi (Arcade / Terminé) ||| La Question (Mini-jeu narratif / Terminé !) ||| Blade Converter (A-RPG ~ Beat them all / En cours !) ||| Des mini-projets Unity !


kanatos - posté le 09/08/2015 à 11:57:51 (293 messages postés)

❤ 0

cute rabbit

Bonjour a tous, j'ai installé ce 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
#================================
# CRAFTING PROGRAM
#----------------------------------------------------------------
#-written by Deke
#-yes_no window code created by Phsylomortis
#----------------------------------------------------------------
#================================
 
#updates to Game_Party class
 
class Game_Party
 
 attr_accessor       :recipes
 
 alias crafting_party_initialize initialize
 
 def initialize
   crafting_party_initialize
   @recipes=[]
 end
 
 #----------------------------------------------------------------------
 def know?(recipe, version = 1)
   unless recipe.is_a?(Game_Recipe)
     recipe = get_recipe_from_master_list(recipe, version)
   end
   return $game_party.recipes.include?(recipe)
 end
 
#----------------------------------------------------------------------
 def learn_recipe(recipe , version = 1)
   unless recipe.is_a?(Game_Recipe)
     recipe = get_recipe_from_master_list(recipe, version)
   end
   if recipe.is_a?(Game_Recipe)
     unless know?(recipe)
       @recipes.push(recipe)
     end
   end
 end
 
#----------------------------------------------------------------------
 def forget_recipe(recipe , version = 1)
   if !recipe.is_a?(Game_Recipe)
     recipe = get_recipe_from_master_list(recipe, version)
   end
   if recipe.is_a?(Game_Recipe)
     for i in 0...@recipes.size
       if recipe == @recipes[i]
         index = i
         break
       end
     end
     if index != nil
       @recipes.delete(@recipes[index])
     end
   end
 end
 
#----------------------------------------------------------------------
 def get_recipe_from_master_list(item, version)
   index = nil
   for i in 0...$game_temp.recipe_list.size
     if item[0] == $game_temp.recipe_list[i].result and item[1] ==$game_temp.recipe_list[i].result_type
       version -= 1
       if version == 0
         index = i
         break
       end
     end
   end
   if index.is_a?(Integer)
     return ($game_temp.recipe_list[index])
   else
     return false
   end
 end
 
end # of Game_Party updates
 
#================================
class Game_Recipe
 
 attr_reader :ingredients
 attr_reader :quantities
 attr_reader :result
 attr_reader :result_type
 attr_reader :ingredient_types
 
#----------------------------------------------------------------------
 def initialize( ingredients, ingredient_types, quantities, result, result_type)
   @ingredients = ingredients
   @ingredient_types = ingredient_types
   @quantities = quantities
   @result = result
   @result_type = result_type
 end
 
#----------------------------------------------------------------------
 def name
   case @result_type
     when 0
       name = $data_items[@result].name
     when 1
       name = $data_armors[@result].name
     when 2
       name = $data_weapons[@result].name
   end
   return name
 end
 
#----------------------------------------------------------------------
 def have
   have_all = true
   for i in 0...@ingredients.size
     case @ingredient_types[i]
       when 0
         if $game_party.item_number(@ingredients[i]) < @quantities[i]
           have_all=false
         end
       when 1
         if $game_party.armor_number(@ingredients[i]) < @quantities[i]
           have_all=false
         end
       when 2
         if $game_party.weapon_number(@ingredients[i]) < @quantities[i]
           have_all=false
         end
     end
   end
   return have_all
 end
 
#----------------------------------------------------------------------
 def decrement
   for i in 0...@ingredients.size
     case @ingredient_types[i]
     when 0
       $game_party.lose_item(@ingredients[i], @quantities[i])
     when 1
       $game_party.lose_armor(@ingredients[i], @quantities[i])
     when 2
       $game_party.lose_weapon(@ingredients[i], @quantities[i])
     end
   end
 end
 
#----------------------------------------------------------------------
 def make
   if have
     case @result_type
     when 0
       $game_party.gain_item(@result, 1)
     when 1
       $game_party.gain_armor(@result, 1)
     when 2
       $game_party.gain_weapon(@result, 1)
     end
     decrement
   end
 end
 
#----------------------------------------------------------------------
 def == (recipe)
   if recipe.is_a?(Game_Recipe)
     equal = true
     if recipe.ingredients != self.ingredients
       equal = false
     end
     if recipe.ingredient_types != self.ingredient_types
       equal = false
     end
     if recipe.quantities != self.quantities
       equal = false
     end
     if recipe.result != self.result
       equal=false
     end
     if recipe.result_type != self.result_type
       equal = false
     end
   else
     equal = false
   end
   return equal
 end
 
end # of Game_Recipe class
 
#===================================
 
class Window_Craft < Window_Selectable
 
 #--------------------------------------------------------------------------
 def initialize
   super(0, 64, 240, 416)
   @column_max = 1
   refresh
   self.index = 0
 end
 
 #--------------------------------------------------------------------------
 def recipe
   return @data[self.index]
 end
 
 #--------------------------------------------------------------------------
 def refresh
   if self.contents != nil
     self.contents.dispose
     self.contents = nil
   end
   @data = []
   for i in 0...$game_party.recipes.size
       @data.push($game_party.recipes[i])
   end
   @item_max = @data.size
   if @item_max > 0
     self.contents = Bitmap.new(width - 32, row_max * 32)
     self.contents.font.name = $fontface.is_a?(String) ? $fontface : $defaultfonttype
     self.contents.font.size = $fontsize.is_a?(Integer) ? $fontsize : $defaultfontsize
     for i in 0...@item_max
       draw_item(i)
     end
   end
 end
 
 #--------------------------------------------------------------------------
 def draw_item(index)
   recipe = @data[index]
   self.contents.font.color = recipe.have ? normal_color : disabled_color
   x = 16
   y = index * 32
   self.contents.draw_text(x , y, self.width-32, 32, recipe.name, 0)
 end
 
 #--------------------------------------------------------------------------
 def update_help
   current_recipe = recipe
   if current_recipe.is_a?(Game_Recipe)
   case current_recipe.result_type
     when 0
       description = $data_items[current_recipe.result].description
     when 1
       description = $data_armors[current_recipe.result].description
     when 2
       description = $data_weapons[current_recipe.result].description
     end
   else
     description = ""
   end
   @help_window.set_text(description)
   @help_window.update
 end
 
end # of Window_Craft
 
#=======================================
class Window_CraftResult < Window_Base
 
 #--------------------------------------------------------------------------
 def initialize
   super(240, 64, 400, 184)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.name = $fontface.is_a?(String) ? $fontface : $defaultfonttype
   self.contents.font.size = 20
   @result = nil
   @type = nil
 end
 
 #--------------------------------------------------------------------------
 def refresh
   self.contents.clear
   case @type
     when 0
       item = $data_items[@result]
       if item.recover_hp_rate > item.recover_hp
         hp_string = "HP Recovery% :"
         hp_stat = item.recover_hp_rate
       else
         hp_string = "HP Recovery Points:"
         hp_stat = item.recover_hp
       end
       if item.recover_sp_rate > item.recover_sp
         sp_string = "SP Recovery% :"
         sp_stat = item.recover_sp_rate
       else
         sp_string = "SP Recovery Points:"
         sp_stat = item.recover_sp
       end
       @strings = [hp_string, sp_string, "Phy. Def:" , "Mag Def:", "Accuracy:", "Variance:"]
       @stats = [hp_stat, sp_stat, item. pdef_f, item.mdef_f, item.hit, item.variance,
                      $game_party.item_number(@result)]
       @bitmap = RPG::Cache.icon(item.icon_name)
     when 1
       item = $data_armors[@result]
       @strings = ["Phy. Def:", "Mag. Def:", "Evasion plus:", "Strength plus:", "Dex. plus:",
                      "Agility plus:", "Int. plus:"]
       @stats = [item.pdef, item.mdef, item.eva, item.str_plus, item.dex_plus,
                   item.agi_plus, item.int_plus, $game_party.armor_number(@result) ]
       @bitmap = RPG::Cache.icon(item.icon_name)
     when 2
       item = $data_weapons[@result]
       @strings =["Attack Power:", "Phy. Def:", "Mag. Def:", "Strength plus:", "Dex. plus:",
                   "Agility plus:", "Int. plus:"]
       @stats = [item.atk, item.pdef, item.mdef, item.str_plus, item.dex_plus,
                   item.agi_plus, item.int_plus, $game_party.weapon_number(@result) ]
       @bitmap = RPG::Cache.icon(item.icon_name)
   end
   for i in 0...@strings.size
     x = i%2 * 184
     y = i /2 *28 +32
     self.contents.font.color = normal_color
     self.contents.draw_text(x,y,100, 28,@strings[i])
     self.contents.font.color = system_color
     self.contents.draw_text(x + 110, y, 45, 28, @stats[i].to_s)
   end
   self.contents.blt(0, 0, @bitmap, Rect.new(0, 0, 24, 24), 255)
   self.contents.font.color= normal_color
   self.contents.draw_text(40, 0, 300, 28, "Nombre d'exemplaire:")
   self.contents.font.color = system_color
   count = @stats[@stats.size - 1].to_s
   self.contents.draw_text(294, 0, 45, 28, count )
 end
   
#----------------------------------------------------------------------
 def set_result(result , type)
   @result = result
   @type = type
   refresh
 end
 
end #of Window_CraftResult
 
#=======================================
class Window_CraftIngredients < Window_Base
 
 #--------------------------------------------------------------------------
 def initialize
   super(240, 248, 400, 232)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.name = $fontface.is_a?(String) ? $fontface : $defaultfonttype
   self.contents.font.size = 20
   @ingredients = []
   @types = []
   @quantities = []
   @item = nil
   @count = 0
 end
 
 #--------------------------------------------------------------------------
 def refresh
   self.contents.clear
   for i in 0...@ingredients.size
     case @types[i]
     when 0
       @item = $data_items[@ingredients[i]]
       @count = $game_party.item_number(@ingredients[i])
     when 1
       @item = $data_armors[@ingredients[i]]
       @count = $game_party.armor_number(@ingredients[i])
     when 2
       @item = $data_weapons[@ingredients[i]]
       @count = $game_party.weapon_number(@ingredients[i])
     end
     y = i *26
     self.contents.blt(0, y, RPG::Cache.icon(@item.icon_name), Rect.new(0, 0, 24, 24), 255)
     self.contents.font.color = @count >= @quantities[i] ? normal_color : disabled_color
     self.contents.draw_text(30, y, 280, 28, @item.name)
     self.contents.draw_text(300, y, 45, 28, @quantities[i].to_s)
     self.contents.font.color = system_color
     self.contents.draw_text(245, y, 45, 28, @count.to_s )    
   end
 end
     
 #--------------------------------------------------------------------------
 def set_ingredients(ingredients , types, quantities)
   @ingredients = ingredients
   @types = types
   @quantities = quantities
   refresh
 end
 
end # of Window_CraftIngredients
 
#======================================
class Scene_Craft
 
 #--------------------------------------------------------------------------
 def initialize(craft_index=0, return_scene = "menu")
   @craft_index=craft_index
   @return_scene = return_scene
 end
 
 #--------------------------------------------------------------------------
 def main
   @craft_window = Window_Craft.new
   @craft_window.index=@craft_index
   @confirm_window = Window_Base.new(120, 188, 400, 64)
   @confirm_window.contents = Bitmap.new(368, 32)
   @confirm_window.contents.font.name = $fontface.is_a?(String) ? $fontface : $defaultfonttype
   @confirm_window.contents.font.size = $fontsize.is_a?(Integer) ? $fontsize : $defaultfontsize
   @help_window = Window_Help.new
   @craft_window.help_window = @help_window
   @result_window=Window_CraftResult.new
   @ingredients_window=Window_CraftIngredients.new
   @yes_no_window = Window_Command.new(100, ["Oui", "Non"])
   @confirm_window.visible = false
   @confirm_window.z = 1500
   @yes_no_window.visible = false
   @yes_no_window.active = false
   @yes_no_window.index = 1
   @yes_no_window.x = 270
   @yes_no_window.y = 252
   @yes_no_window.z = 1500
   @label_window = Window_Base.new(450,200,190,52)
   @label_window.contents=Bitmap.new(@label_window.width - 32,@label_window.height - 32)
   @label_window.contents.font.size=20
   @label_window.contents.font.color = @label_window.normal_color
   @label_window.contents.font.name = $fontface.is_a?(String) ? $fontface : $defaultfonttype
   @label_window.contents.draw_text(0, 0, @label_window.contents.width, 20, "   Item    Requis")
   Graphics.transition
   loop do
     Graphics.update
     Input.update
     update
     if $scene != self
       break
     end
   end
   Graphics.freeze
   @help_window.dispose
   @craft_window.dispose
   @result_window.dispose
   @ingredients_window.dispose
   @confirm_window.dispose
   @yes_no_window.dispose
   @label_window.dispose
 end
 
 #--------------------------------------------------------------------------
 def update
   @craft_window.update
   @ingredients_window.update
   if $game_party.recipes.size > 0
     @result_window.set_result(@craft_window.recipe.result, @craft_window.recipe.result_type)
     @ingredients_window.set_ingredients(@craft_window.recipe.ingredients,
                                                          @craft_window.recipe.ingredient_types,
                                                          @craft_window.recipe.quantities)
   end
   if @craft_window.active
     update_craft
     return
   end
   if @yes_no_window.active
     confirm_update
     return
   end
 end
 
 #--------------------------------------------------------------------------
 def update_craft
   if Input.trigger?(Input::B)
     $game_system.se_play($data_system.cancel_se)
     if @return_scene == "menu"
       $scene = Scene_Menu.new(0)
     else
       $scene = Scene_Map.new
     end
     return
   end
   if Input.trigger?(Input::C) and $game_party.recipes.size != 0
     @recipe = @craft_window.recipe
     if @recipe.have
       @yes_no_window.active = true
       @craft_window.active = false
     else
       $game_system.se_play($data_system.buzzer_se)
       return
     end
   end
 end
 
 #--------------------------------------------------------------------------
 def confirm_update
   @craft_index = @craft_window.index
   @confirm_window.visible = true
   @confirm_window.z = 1500
   @yes_no_window.visible = true
   @yes_no_window.active = true
   @yes_no_window.z = 1500
   @yes_no_window.update
   string = "Crée " + @recipe.name + "?"
   cw = @confirm_window.contents.text_size(string).width
   center = @confirm_window.contents.width/2 - cw /2
   unless @drawn
     @confirm_window.contents.draw_text(center, 0, cw, 30, string)
     @drawn = true
   end
   if Input.trigger?(Input::C)
     if @yes_no_window.index == 0
       $game_system.se_play($data_system.decision_se)
       @recipe.make
       $game_system.se_play($data_system.save_se)
       $scene=Scene_Craft.new(@craft_index)
     else
       $game_system.se_play($data_system.cancel_se)
       $scene=Scene_Craft.new(@craft_index)
     end
   end
   if Input.trigger?(Input::B)
     $game_system.se_play($data_system.cancel_se)
     $scene=Scene_Craft.new(@craft_index)
   end
 end
 
end # of Scene_Craft



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
#================================
 
# Sample master list for crafting script
 
#----------------------------------------------------------------
 
#-written by Deke
 
#----------------------------------------------------------------
 
#================================
 
 
 
class Game_Temp
 
  attr_reader :recipe_list
 
 
 
  alias crafting_temp_initialize initialize
 
 
 
  def initialize
 
    crafting_temp_initialize
 
    @recipe_list=[]
 
    get_recipe_list
 
  end
 
 
 
  def get_recipe_list
 
    
 
#----------------------------------------------------------------
 
#----------------------------------------------------------------
 
#--------------- Insérer vos recettes ici ! --------------
 
#----------------------------------------------------------------
 
#----------------------------------------------------------------
  ingredients = [1, 1, 1]
  ingredient_types = [0, 1, 2]
  quantities = [1, 1, 1]
  result = 2
  result_type = 2
  @recipe_list.push(Game_Recipe.new(ingredients,ingredient_types,quantities,result,result_type))
 
    ingredients = [30,31,32]
    ingredient_types = [0,0,0]
    quantities = [1,1,1]
    result = 4
    result_type = 2
    @recipe_list.push(Game_Recipe.new(ingredients,ingredient_types,quantities,result,result_type))
   
    ingredients = [29,30]
    ingredient_types = [0,0]
    quantities = [1,2]
    result = 8
    result_type = 1
    @recipe_list.push(Game_Recipe.new(ingredients,ingredient_types,quantities,result,result_type))
   
    ingredients = [30,31,1]
    ingredient_types = [0,0,1]
    quantities = [1,1,3]
    result = 4
    result_type = 0
    @recipe_list.push(Game_Recipe.new(ingredients,ingredient_types,quantities,result,result_type))
 
   
 
 
 
   
 
    
 
    
 
  end # of get_recipe_list method
 
end # of updates to Game_Temp Class



Il marche nickel mais je voulais savoir si il était possible d'avoir deux forgeron indépendant.
Je m'explique, par exemple dans mon jeu j'ai un magicien qui peut te forgé des armes/armure élémentaires, et un autre forgeron qui peut forgé des armes plus traditionnelle (épée à deux main, Long arc etc...) mais dans ce script il ne permet que de gérer un type de forgeron...

lien du script (crée par Deke, Phsylomortis. Traduit par Ikhuraï) :
http://www.rpg-maker.fr/scripts-234-systeme-de-forge.html


arttroy - posté le 09/08/2015 à 13:23:43 (2394 messages postés)

❤ 0

Just working

Ah ouais ok en fait si tu créé un forgeron, il a toutes les recettes définies disponibles. C'est ça ? Bon écoutes on va faire autrement, tu as de la chance je suis dans un bon jour ^^. Je te mp.

Par contre on est déjà plus dans une question conne, je pense que tu aurais eu meilleur temps de poster ça dans l'entraide.

@Brikou

Le mieux c'est de créer tes classes comme ça avec Ace

def initialize
super
end

def update
super
end

def refresh
end

def terminate (plutôt que dispose)
end

Et sinon souvent moi c'est des erreurs de dispose que j'ai. Je règle ça (merci sensei) en faisant comme ça @sprite.dispose if @sprite

Anti-inconstructivité / Pétition pour que le mot making soit inscrit dans le dictionnaire ?


bigbru - posté le 10/08/2015 à 15:57:31 (16 messages postés)

❤ 0

Bonjour,

Je suis à la recherche d'informations et de ressources concernant toutes les classes, méthodes, héritages, ect... utilisables lorsque nous concevons nos script.

J'ai eu beau cherché je n'ai pas trouvé ce genre de base de connaissance.

Merci,

Bru


arttroy - posté le 10/08/2015 à 16:03:54 (2394 messages postés)

❤ 0

Just working

Tu peux regarder là, il y a pas mal d'info :

http://ruby-doc.org/

Anti-inconstructivité / Pétition pour que le mot making soit inscrit dans le dictionnaire ?


bigbru - posté le 10/08/2015 à 16:09:00 (16 messages postés)

❤ 0

Je cherchais plutôt les fonctionnalités liée à RGSS3 et non au langage Ruby lui-même, tel que la liste des méthodes accessibles, les variables du jeu ou encore les classes à hériter en fonction des scripts que l'on souhaite créer.


ThrillerProd - posté le 15/08/2015 à 12:09:08 (1121 messages postés)

❤ 0

Salut les gens,

Après bon nombre de recherche, je ne trouve pas un simple script pour afficher une battle animation où bon me semble sur RPG maker VX ace.

Zeus avait fait un script similaire pour XP mais il n'y a aucun équivalent sur VX ace...

Si quelqu'un a une piste, il est le bienvenue !

Merci !

Actinium Studio : Youtube / (Rm2k3)(A-Rpg) Acsiosa


Maniax Skell (alias Hazem) - posté le 16/08/2015 à 18:32:39 (2733 messages postés)

❤ 0

Man Of The Gaping Mind

Support : RMVXACE

Bonjour bande de germes, j'ai installé ce script-ci pour simplifier le menu de mon jeu d'énigmes et d'horreur et n'en faire qu'un simple menu destiné à révéler les objets normaux... Le problème étant que cet abruti de jeu pense toujours que cet inventaire sert à utiliser les objets sélectionnés sur le héros plutôt que de simplement en donner la description...
Ma question est donc : comment dois-je bidouiller mon (mes ?) scripts pour ne plus rendre les objets sélectionnables ? Je remercie d'avance celui qui saura m'aider, sachant que le script installé est ce dernier :

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
class Scene_Item < Scene_ItemBase
  
  def create_category_window
  end
  
  def create_item_window
    wy = @help_window.y + @help_window.height
    wh = Graphics.height - wy
    @item_window = Window_ItemList.new(0, wy, Graphics.width, wh)
    @item_window.viewport = @viewport
    @item_window.help_window = @help_window
    @item_window.set_handler(:ok,     method(:on_item_ok))
    @item_window.set_handler(:cancel, method(:on_item_cancel))
    @item_window.category = :item
    @item_window.activate
   @item_window.select(0)
  end
  
  def on_item_cancel
    return_scene
  end
 
end
 
 



image


arttroy - posté le 16/08/2015 à 20:30:44 (2394 messages postés)

❤ 0

Just working

@maniax skell : Vas dans le Scene_ItemBase ligne 65 et tu met un # devant use_item

Anti-inconstructivité / Pétition pour que le mot making soit inscrit dans le dictionnaire ?


zeus81 - posté le 16/08/2015 à 20:44:47 (11071 messages postés)

❤ 0

C'toi l'abruti pas le jeu, suffit de configurer tes objets dans la bdd pour qu'ils ne soient pas utilisables.


Maniax Skell (alias Hazem) - posté le 16/08/2015 à 21:00:52 (2733 messages postés)

❤ 0

Man Of The Gaping Mind

Merci, mais le souci est qu'il développe toujours la fenêtre avec la liste des héros, ce que je veux empêcher. Or, la fenêtre affichant le personnage et son statut apparaît toujours lorsque j'appuie sur Enter avec l'objet sélectionné...
@Jupiter18: Assez bizzaremment, je ne retrouve pas cette option dans la bdd de VX ACE... Après, je suis peut-être quand même un abruti pour utiliser VX ACE...

EDIT : Il suffisait effectivement d'enlever tout disponibilité à l'objet dans la bdd. Je pense avoir amplement mérité mes galons d'abruti, effectivement !


arttroy - posté le 17/08/2015 à 13:50:26 (2394 messages postés)

❤ 0

Just working

ah ok je pensais que tu voulais que ça reste en blanc pour le nom des objets dans le menu. Dans le cas contraire effectivement c'est plus simple de le faire comme Zeus l'a dit.

Pour info la fenêtre qui s'affiche quand tu sélectionne un objet c'est la Window_MenuActor.

Anti-inconstructivité / Pétition pour que le mot making soit inscrit dans le dictionnaire ?


Maniax Skell (alias Hazem) - posté le 17/08/2015 à 18:37:57 (2733 messages postés)

❤ 0

Man Of The Gaping Mind

Bah, en fait, si le rend l'objet inutilisable via l'inventaire, il le devient aussi quand mon personnage doit choisir un objet à utiliser via une commande de variables... (C'est-à-dire qu'une petite fenêtre s'ouvre et le joueur doit sélectionner l'objet à utiliser pour résoudre l'énigme/ouvrir la porte, etc...)

La solution optimale serait donc effectivement d'empêcher l'apparition de Window_MenuActor lors d'une pression sur la touche enter...


RedXIIIisNanaki - posté le 11/10/2015 à 14:27:25 (9 messages postés)

❤ 0

Problème sur VX:
Bonjour tout le monde, j'ai une question qui me bloque depuis quelques heures,
Comment puis-je faire pour qu'un personnage qui utilise une attaque normal
puisse faire une attaque à distance (sans se déplacer vers sa cible) avec un sceptre genre une orbe mana.
Merci d'avance de vos réponses, SVP soyez indulgent je débute.
PS: j'utilise le script SBS tankentai avec les sprites de "Kaduki".

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