Day.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker

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

Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

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

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

433 connectés actuellement

29387309 visiteurs
depuis l'ouverture

5 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Guelnika & E-magination

Le Comptoir Du clickeur

Le Temple de Valor

Offgame

Tous nos partenaires

Devenir
partenaire



Messages postés par Nérylis
Nombre de messages référencés sur Oniromancie (non supprimés): 145

Aller à la page: 1 2 3 4

Posté dans Forum - [RPG Maker VX Ace] Maîtrise des types d'armes

Nérylis - posté le 29/07/2016 à 16:48:14. (149 messages postés)

Domaine concerné: Script
Logiciel utilisé: RPG Maker VX Ace
Coucou,

J'aurais besoin d'une petite modification sur un script que j'utilise pour gérer les différents rangs de maîtrise des types d'armes.

L'idée du script, c'est que chaque coup de base donné donne un point de maîtrise pour le type de l'arme équipée. A la base, j'avais mis des valeurs communes pour chaque type d'arme. En gros, peu importe le type d'arme utilisé, à 500 points, on avait tel rang, à 1000 points, tel rang... Sauf que c'était pas pratique. Alors, j'ai décidé de mettre des valeurs différentes et séparer chaque type d'arme.

Dans l'upgrade list, entre la ligne 34 et la ligne 104, j'ai juste changé les valeurs pour lesquelles on gagne le bonus. Maintenant, chaque type d'arme a ses propres valeurs (pour la hache, après 75 attaques données, on gagne 2 points en force, etc...). Cette partie-là marche bien. On gagne bien le bonus quand on franchit le palier.

Là où ça marche moins bien, c'est le lvl description à partir de la ligne 115. Le script ne distingue pas les différents types d'armes. Il prend la valeur la plus basse et attribue le nom du rang. Exemple : un personnage qui utilise les griffes doit monter à 150 points pour passer au rang Initié. Sauf que lorsqu'il aura atteint 50 points, bien qu'il ne gagne pas encore le bonus (ce qui est normal), on verra affiché Initié car il ne faut que 50 points pour passer Initié avec le type d'arme bâton. Mon souci se trouve là. Je pense qu'il faut modifier cette partie-là. Quelqu'un saurait faire ça svp ?

Une démo pour ceux que ça intéresse : http://www.mediafire.com/download/x1815hxc839h6wa/Ace+menu+-+Type+arme.exe

Le script ci-dessous :

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
=begin
##############################################################
Weapon_Upgrade
####
Vincent26
####
Description:
Ce script permet de monter en level pour l'utilisation de catégorie d'armes.
Le principe est que chaque coup donné avec un type d'armes particulier augmente
son expérience. Une fois un niveau passé, le personnage reçoit une amélioration
définitive d'une de ses caractéristiques.
Un menu secondaire est ajouté au menu status à l'appui de la touche Shift.
Le niveau de compétence pour une arme du héros est associé à un nom descriptif.
####
Utilisation :
Configurer le module suivant pour mettre en place ce script.
=end
module Weapon_Upgrade
 
  #Ne pas modifier
  CARACTERISTIQUE = {:max_hp => 0,:max_mp => 1,:force => 2,:defense => 3,
                    :magic_atk => 4,:magic_def => 5,:agilité => 6,:chance => 7}
 
  #LISTE DES TYPES D'ARMES DANS LE LEXIQUE DE LA BDD
  #
  #
  # Liste des upgrades des types d'armes :
  # TYPE => [[NBR_COUP,VALEUR,CARACTERISTIQUE,[ID_PERSONNAGE]],...]
  #
  # TYPE est le type d'arme (l'id associé dans la BDD)
  # VALEUR est la valeur à ajouter à la caractéristique du perso
  # CARACTERISTIQUE est la caractéristique à modifier
  # ID_PERSONNAGE est la liste des personnages à qui peut s'appliquer cet upgrade
  UPGRADE_LIST = {
    1 => [[75,2,:force,[1,2,3,4,5,6,7,8,9,10]],                  #Hache
        [350,3,:force,[1,2,3,4,5,6,7,8,9,10]],
        [1000,5,:force,[1,2,3,4,5,6,7,8,9,10]],
        [1800,10,:force,[1,2,3,4,5,6,7,8,9,10]],
        [3000,15,:force,[1,2,3,4,5,6,7,8,9,10]],
        [4500,20,:force,[1,2,3,4,5,6,7,8,9,10]],
        [9999,50,:force,[1,2,3,4,5,6,7,8,9,10]]],
    2 => [[150,1,:agilité,[1,2,3,4,5,6,7,8,9,10]],               #Griffes
        [800,2,:agilité,[1,2,3,4,5,6,7,8,9,10]],
        [2100,3,:agilité,[1,2,3,4,5,6,7,8,9,10]],
        [3400,5,:agilité,[1,2,3,4,5,6,7,8,9,10]],
        [5100,8,:agilité,[1,2,3,4,5,6,7,8,9,10]],
        [7500,10,:agilité,[1,2,3,4,5,6,7,8,9,10]],
        [9999,20,:force,[1,2,3,4,5,6,7,8,9,10]]],
    3 => [[110,2,:agilité,[1,2,3,4,5,6,7,8,9,10]],               #Lance
        [525,3,:agilité,[1,2,3,4,5,6,7,8,9,10]],
        [1300,5,:agilité,[1,2,3,4,5,6,7,8,9,10]],
        [2200,10,:agilité,[1,2,3,4,5,6,7,8,9,10]],
        [3300,15,:agilité,[1,2,3,4,5,6,7,8,9,10]],        
        [5250,20,:agilité,[1,2,3,4,5,6,7,8,9,10]],
        [9999,50,:agilité,[1,2,3,4,5,6,7,8,9,10]]],
    4 => [[115,2,:force,[1,2,3,4,5,6,7,8,9,10]],                 #Epée
        [550,3,:force,[1,2,3,4,5,6,7,8,9,10]],
        [1325,5,:force,[1,2,3,4,5,6,7,8,9,10]],
        [2300,10,:force,[1,2,3,4,5,6,7,8,9,10]],
        [3500,15,:force,[1,2,3,4,5,6,7,8,9,10]],        
        [5350,20,:force,[1,2,3,4,5,6,7,8,9,10]],
        [9999,50,:force,[1,2,3,4,5,6,7,8,9,10]]],
    5 => [[100,2,:force,[1,2,3,4,5,6,7,8,9,10]],                 #Katana
        [500,3,:force,[1,2,3,4,5,6,7,8,9,10]],
        [1200,5,:force,[1,2,3,4,5,6,7,8,9,10]],
        [2000,10,:force,[1,2,3,4,5,6,7,8,9,10]],
        [3250,15,:force,[1,2,3,4,5,6,7,8,9,10]],
        [5000,20,:force,[1,2,3,4,5,6,7,8,9,10]],
        [9999,50,:force,[1,2,3,4,5,6,7,8,9,10]]],
    6 => [[120,2,:agilité,[1,2,3,4,5,6,7,8,9,10]],               #Arc
        [600,3,:agilité,[1,2,3,4,5,6,7,8,9,10]],
        [1400,5,:agilité,[1,2,3,4,5,6,7,8,9,10]],
        [2400,10,:agilité,[1,2,3,4,5,6,7,8,9,10]],
        [3800,15,:agilité,[1,2,3,4,5,6,7,8,9,10]],
        [5500,20,:agilité,[1,2,3,4,5,6,7,8,9,10]],
        [9999,50,:agilité,[1,2,3,4,5,6,7,8,9,10]]],
    7 => [[135,2,:agilité,[1,2,3,4,5,6,7,8,9,10]],               #Dague
        [750,3,:agilité,[1,2,3,4,5,6,7,8,9,10]],
        [1600,5,:agilité,[1,2,3,4,5,6,7,8,9,10]],
        [2800,10,:agilité,[1,2,3,4,5,6,7,8,9,10]],
        [4400,15,:agilité,[1,2,3,4,5,6,7,8,9,10]],
        [6500,20,:agilité,[1,2,3,4,5,6,7,8,9,10]],
        [9999,50,:agilité,[1,2,3,4,5,6,7,8,9,10]]],
    8 => [[65,2,:magic_atk,[1,2,3,4,5,6,7,8,9,10]],              #Massue
        [300,3,:magic_atk,[1,2,3,4,5,6,7,8,9,10]],
        [900,5,:magic_atk,[1,2,3,4,5,6,7,8,9,10]],
        [1650,10,:magic_atk,[1,2,3,4,5,6,7,8,9,10]],
        [2450,15,:magic_atk,[1,2,3,4,5,6,7,8,9,10]],        
        [3750,20,:magic_atk,[1,2,3,4,5,6,7,8,9,10]],
        [9999,50,:magic_atk,[1,2,3,4,5,6,7,8,9,10]]],
    9 => [[50,2,:magic_atk,[1,2,3,4,5,6,7,8,9,10]],              #Bâton
        [250,3,:magic_atk,[1,2,3,4,5,6,7,8,9,10]],
        [850,5,:magic_atk,[1,2,3,4,5,6,7,8,9,10]],
        [1500,10,:magic_atk,[1,2,3,4,5,6,7,8,9,10]],
        [2350,15,:magic_atk,[1,2,3,4,5,6,7,8,9,10]],        
        [3450,20,:magic_atk,[1,2,3,4,5,6,7,8,9,10]],
        [9999,50,:magic_atk,[1,2,3,4,5,6,7,8,9,10]]],
  10 => [[125,1,:agilité,[1,2,3,4,5,6,7,8,9,10]],                #Arme à feu
        [650,2,:agilité,[1,2,3,4,5,6,7,8,9,10]],
        [1450,3,:agilité,[1,2,3,4,5,6,7,8,9,10]],
        [2500,5,:agilité,[1,2,3,4,5,6,7,8,9,10]],
        [4000,8,:agilité,[1,2,3,4,5,6,7,8,9,10]],
        [6000,10,:agilité,[1,2,3,4,5,6,7,8,9,10]],
        [9999,20,:force,[1,2,3,4,5,6,7,8,9,10]]],
    }
 
  #Nombre de type d'arme
  NBR_TYPE_ARME = 10
 
  #Liste des types d'armes
  LIST_TYPE_ARME = ["Hache","Griffes","Lance","Epée","Katana","Arc","Dague",
                    "Massue","Bâton","Arme à feu"]
 
  #Description des levels de maitrisse
  LVL_DESCRIPTION = {0=>"Néophyte",             #Commun
  
                      50=>"Initié",                #Bâton
                        65=>"Initié",                #Massue
                          75=>"Initié",                #Hache
                            100=>"Initié",               #Katana
                              110=>"Initié",               #Lance
                                115=>"Initié",               #Epée
                                  120=>"Initié",               #Arc
                                    125=>"Initié",               #Arme à feu
                                      135=>"Initié",               #Dague
                                        150=>"Initié",               #Griffes
                                        
                      250=>"Apprenti",             #Bâton
                        300=>"Apprenti",             #Massue
                          350=>"Apprenti",             #Hache
                            500=>"Apprenti",             #Katana
                              525=>"Apprenti",             #Lance
                                550=>"Apprenti",             #Epée
                                  600=>"Apprenti",             #Arc
                                    650=>"Apprenti",             #Arme à feu
                                      750=>"Apprenti",             #Dague
                                        800=>"Apprenti",             #Griffes
                                        
                      850=>"Confirmé",             #Bâton
                        900=>"Confirmé",             #Massue
                          1000=>"Confirmé",            #Hache
                            1200=>"Confirmé",            #Katana
                              1300=>"Confirmé",            #Lance
                                1325=>"Confirmé",            #Epée
                                  1400=>"Confirmé",            #Arc
                                    1450=>"Confirmé",            #Arme à feu
                                      1600=>"Confirmé",            #Dague
                                        2100=>"Confirmé",            #Griffes
                                        
                      1500=>"Expert",              #Bâton
                        1650=>"Expert",              #Massue
                          1800=>"Expert",              #Hache
                            2000=>"Expert",              #Katana
                              2200=>"Expert",              #Lance
                                2300=>"Expert",              #Epée
                                  2400=>"Expert",              #Arc
                                    2500=>"Expert",              #Arme à feu
                                      2800=>"Expert",              #Dague
                                        3400=>"Expert",              #Griffes
                                        
                      2350=>"Prodige",             #Bâton
                        2450=>"Prodige",             #Massue
                          3000=>"Prodige",             #Hache
                            3250=>"Prodige",             #Katana
                              3300=>"Prodige",             #Lance
                                3500=>"Prodige",             #Epée
                                  3800=>"Prodige",             #Arc
                                    4000=>"Prodige",             #Arme à feu
                                      4400=>"Prodige",             #Dague
                                        5100=>"Prodige",             #Griffes
                                        
                      3450=>"Maître",              #Bâton
                        3750=>"Maître",              #Massue
                          4500=>"Maître",              #Hache
                            5000=>"Maître",              #Katana
                              5250=>"Maître",              #Lance
                                5350=>"Maître",              #Epée
                                  5500=>"Maître",              #Arc
                                    6000=>"Maître",              #Arme à feu
                                      6500=>"Maître",              #Dague
                                        7500=>"Maître",              #Griffes
                                        
                     9999=>"Légende"}           #Commun
                     
  #Pour définir une autre attaque que celle de base pour le décompte des point
  #ajouter cela dans la note d'un personnage :
  #<Basic_Skill = ID>
  #ID est l'id de la compétence prise pour base
 
end
class Scene_Battle
 
  alias start_weapon_upgrade start
  def start
    @attaque_standard = false
    start_weapon_upgrade
  end
 
  alias use_item_weapon_upgrade use_item
  def use_item
    @attaque_standard = false
    item = @subject.current_action.item
    if @subject.actor?
      if @subject.actor.note =~ /<Basic_Skill = (\d+)>/
        skill_id = $1.to_i
        @attaque_standard = true if item.id == skill_id
      else
        @attaque_standard = true if item.animation_id < 0
      end
    end
    use_item_weapon_upgrade
  end
 
  alias apply_item_effects_weapon_uprade apply_item_effects
  def apply_item_effects(target, item)
    apply_item_effects_weapon_uprade(target, item)
    if target.result.hit? && target.result.success && @attaque_standard
      if @subject.actor?
        @subject.upgrade_weapon_skill
      end
    end
  end
 
end
module BattleManager
 
  class << self
  
    alias gain_exp_weapon_update gain_exp
    alias process_abort_weapon_update process_abort
  
    def gain_exp
      gain_exp_weapon_update
      new = false
      for i in $game_party.members
        for j in i.texte_fin_combat
          $game_message.new_page if new = false
          new = true
          $game_message.add(j)
          $game_message.set_options_on_last_add(:sound=> RPG::SE.new("Wind10"), :wait=>60, :input=>true)
        end
        i.texte_fin_combat = []
      end
    end
  
    def process_abort
      new = false
      for i in $game_party.members
        for j in i.texte_fin_combat
          $game_message.new_page if new = false
          new = true
          $game_message.add(j)
          $game_message.set_options_on_last_add(:sound=> RPG::SE.new("Wind10"), :wait=>60, :input=>true)
        end
        i.texte_fin_combat = []
      end
      process_abort_weapon_update
    end
  end
end
class Game_Actor
 
  attr_reader :upgrade_list
  attr_accessor :texte_fin_combat
 
  alias initialize_weapon_upgrade initialize
  def initialize(actor_id)
    initialize_weapon_upgrade(actor_id)
    @weapon_upgrade = {}
    @texte_fin_combat = []
    @upgrade_list = {}
    Weapon_Upgrade::UPGRADE_LIST.each do |key,value|
      li = []
      for list in value
        if list[3].include?(actor_id)
          li.push([list[0],list[1],list[2],true])
        end
      end
      @upgrade_list[key] = li if li != []
    end
  end
 
  def upgrade_weapon_skill
    for i in 1..Weapon_Upgrade::NBR_TYPE_ARME
      if wtype_equipped?(i)
        @weapon_upgrade[i.to_s] = 0 if !@weapon_upgrade.include?(i.to_s)
        @weapon_upgrade[i.to_s] += 1
        test_upgrade_weapon(i)
      end
    end
  end
 
  def level_up_weapon(name,lvl)
    id = (Weapon_Upgrade::LIST_TYPE_ARME.index(name)+1).to_s
    @weapon_upgrade[id] = 0 if !@weapon_upgrade.include?(id)
    @weapon_upgrade[id] += lvl
    @upgrade_list.each do |key,lis|
    next if key.to_s != id
      for j in 0..lis.length-1
      liste = lis[j]
        if liste[3]
          if @weapon_upgrade[id.to_s] >= liste[0]
          param = Weapon_Upgrade::CARACTERISTIQUE[liste[2]]
          add_param(param, liste[1])
          @upgrade_list[key][j][3] = false
          end
        end
      end
    end
  end
 
  def weapon_upgrade
    return @weapon_upgrade
  end
 
  def test_upgrade_weapon(id)
    @upgrade_list.each do |key,lis|
      next if key != id
      for j in 0..lis.length-1
        liste = lis[j]
        if liste[3]
          if @weapon_upgrade[id.to_s] >= liste[0]
            param = Weapon_Upgrade::CARACTERISTIQUE[liste[2]]
            add_param(param, liste[1])
                    #NOMPERSO          |              NOUVEAU RANG                  |        |        NOM ARME              |                      | NOM DU PARAMETRE|    | VALEUR AUG |
            @texte_fin_combat.push(@name +" devient "+Weapon_Upgrade::LVL_DESCRIPTION[liste[0]].to_s+" en "+Weapon_Upgrade::LIST_TYPE_ARME[id-1]+ ", "+Vocab.param(param)+" +"+liste[1].to_s+".")
            @upgrade_list[key][j][3] = false
          end
        end
      end
    end
  end
end
class Scene_Status
 
 
  alias update_weapon_upgrade update
  def update
    if Input.trigger?(:UP) && @item_window.menu == 1
      Sound.play_cursor
      @item_window.ligne_actuel -= 1
      @item_window.refresh
    elsif Input.trigger?(:DOWN) && @item_window.menu == 1
      Sound.play_cursor
      @item_window.ligne_actuel += 1
      @item_window.refresh
    end
    if Input.trigger?(:B) && @item_window.menu == 1
      Sound.play_cancel
      @item_window.menu = 0
      @command_window.activate
    else
      update_weapon_upgrade
    end
  end
 
  alias terminate_vincent26_weapon_type terminate
  def terminate
    terminate_vincent26_weapon_type
    $game_temp.scene_status_index = nil
  end
 
  def maitrise_commande
    if @item_window.line_nbr_max == 0
      @item_window.menu = 0
      @command_window.activate
    else
      @item_window.menu = 1
    end
  end
 
end
class Window_StatusItem < Window_Base
 
  attr_accessor :menu
  attr_reader :ligne_actuel
 
  NRB_LINE = 7
 
 
  alias initialize_weapon_upgrade initialize
  def initialize(*args)
    @ligne_actuel = 0
    @table_upgrade = []
    @menu = 0
    initialize_weapon_upgrade(*args)
  end
 
  def ligne_actuel=(value)
    table = []
    for feat in @actor.class.features
      if feat.code == 51
        table.push(feat.data_id)
      end
    end
    table.uniq!
    @ligne_actuel = [[value,table.length-NRB_LINE].min,0].max
  end
 
  def line_nbr_max
    table = []
    for feat in @actor.class.features
      if feat.code == 51
        table.push(feat.data_id)
      end
    end
    table.uniq!
    [table.length-NRB_LINE,0].max
  end
 
  alias contents_height_weapon_upgrade contents_height
  def contents_height
    if @upgrade_weapon_contents
      @table_upgrade.length*24+24
    else
      contents_height_weapon_upgrade
    end
  end
 
  alias refresh_weapon_upgrade refresh
  def refresh
    @upgrade_weapon_contents = false
    create_contents
    refresh_weapon_upgrade
  end
 
  def maitrise_enable
    actif = self.line_nbr_max() != 0
    return actif
  end
  
  def draw_maitrise_block
    if @actor_save != @actor
      @ligne_actuel = 0
      @actor_save = @actor
    end
    
    table = []
    for feat in @actor.class.features
      if feat.code == 51
        table.push(feat.data_id)
      end
    end
    table.uniq!
    @table_upgrade = table
    @upgrade_weapon_contents = true
    create_contents
    y = @ligne_actuel*24
    self.oy = y
    draw_arme_usable(32,y,table)
    draw_arme_lvl(270,y,table)
    draw_arme_param(380,y,table)
    draw_arme_rang(150,y,table)
  end
 
 
  def draw_arme_rang(x,y,table)
    for i in 0..table.length
      next if i > NRB_LINE
      if i != 0
        nbr = @actor.weapon_upgrade[table[i-1+@ligne_actuel].to_s] || 0
        rang = Weapon_Upgrade::LVL_DESCRIPTION[0]
        Weapon_Upgrade::LVL_DESCRIPTION.each do |key , value|
          break if nbr < key
          rang = value
        end
        rang = "" if !Weapon_Upgrade::UPGRADE_LIST.has_key?(table[i-1+@ligne_actuel])
      else
        rang = "Rang"
      end
      if rang == "Rang"
        change_color(system_color)
        draw_text(126, y+i*line_height, 140, line_height, rang, 1)
      else
        if rang == "Légende"
          change_color(text_color(17))
          draw_text(126, y+i*line_height, 140, line_height, rang, 1)
        else
          change_color(normal_color)
          draw_text(126, y+i*line_height, 140, line_height, rang, 1)
        end
      end
    end
  end
 
  def draw_arme_param(x,y,table)
    for i in 0..table.length
      next if i > NRB_LINE
      if i != 0
        if @actor.upgrade_list.has_key?(table[i-1+@ligne_actuel])
          for j in @actor.upgrade_list[table[i-1+@ligne_actuel]]
            if j[3] == true
              value = j[1]
              param = Weapon_Upgrade::CARACTERISTIQUE[j[2]]
              texte = Vocab::param(param)+" +"+value.to_s
              break
            end
            texte = "-"
          end
        else
          texte = "-"
        end
      else
        texte = "Obtention"
      end
      if texte == "Obtention"
        change_color(system_color)
        draw_text(378, y+i*line_height, 140, line_height, texte, 1)
      else
        if texte == "-"
          change_color(text_color(17))
          draw_text(378, y+i*line_height, 140, line_height, texte, 1)
        else
          change_color(normal_color)
          draw_text(378, y+i*line_height, 140, line_height, texte, 1)          
        end
      end
    end
  end
 
  def draw_arme_usable(x,y,table)
    for i in 0..table.length
      if i != 0
        next if i > NRB_LINE
        texte = Weapon_Upgrade::LIST_TYPE_ARME[table[i-1+@ligne_actuel]-1]
        nbr = @actor.weapon_upgrade[table[i-1+@ligne_actuel].to_s] || 0
        rang = Weapon_Upgrade::LVL_DESCRIPTION[0]
        Weapon_Upgrade::LVL_DESCRIPTION.each do |key , value|
          break if nbr < key
          rang = value
        end
      else
        texte = "Type arme"
      end
      if texte == "Type arme"
        change_color(system_color)
        draw_text(0, y+i*line_height, 140, line_height, texte, 1)
      else
        if rang == "Légende"
          change_color(text_color(17))
          draw_text(0, y+i*line_height, 140, line_height, texte, 1)
        else
          change_color(normal_color)
          draw_text(0, y+i*line_height, 140, line_height, texte, 1)          
        end
      end
    end
  end
 
  def draw_arme_lvl(x,y,table)
    for i in 0..table.length
      if i != 0
        next if i > NRB_LINE
        nbr = @actor.weapon_upgrade[table[i-1+@ligne_actuel].to_s] || 0
        if @actor.upgrade_list.has_key?(table[i-1+@ligne_actuel])
          for j in @actor.upgrade_list[table[i-1+@ligne_actuel]]
            if j[3] == true
              lvl = j[0]
              texte = nbr.to_s+"/"+lvl.to_s
              break
            end
            texte = "Max"
          end
        else
          texte = "Max"
        end
      else
        texte = "Points"
      end
      if texte == "Points"
        change_color(system_color)
        draw_text(252, y+i*line_height, 140, line_height , texte, 1)
      else
        if texte == "Max"
          change_color(text_color(17))
          draw_text(252, y+i*line_height, 140, line_height, texte, 1)
        else
          change_color(normal_color)
          draw_text(252, y+i*line_height, 140, line_height, texte, 1)
        end
      end
    end
  end
   
end
 
class Game_Interpreter
 
  def get_rang_lvl_actor(id, weapon_id)
    nbr = $game_actors[id].weapon_upgrade[weapon_id.to_s] || 0
    rang = Weapon_Upgrade::LVL_DESCRIPTION[0]
    Weapon_Upgrade::LVL_DESCRIPTION.each do |key , value|
      break if nbr < key
      rang = value
    end
    rang = "" if !Weapon_Upgrade::UPGRADE_LIST.has_key?(weapon_id)
    return rang
  end
 
  def get_rang_lvl_member(id, weapon_id)
    nbr = $game_party.members[id].weapon_upgrade[weapon_id.to_s] || 0
    rang = Weapon_Upgrade::LVL_DESCRIPTION[0]
    Weapon_Upgrade::LVL_DESCRIPTION.each do |key , value|
      break if nbr < key
      rang = value
    end
    rang = "" if !Weapon_Upgrade::UPGRADE_LIST.has_key?(weapon_id)
    return rang
  end
 
end



Posté dans Forum - [RPG Maker VX Ace] Jauge ATB pour LNX Battle

Nérylis - posté le 29/07/2016 à 12:05:00. (149 messages postés)

Oui, c'est vrai, c'est un peu la même chose que ce qu'on trouve dans les FF.

Edit :

Démo à jour du 11/11/2016 : http://www.mediafire.com/file/oxrneq1iwmcmxrb/Battle+test+ATB+-+11+Nov+2016.exe

Liste des bugs à corriger :

- Problème 1 :
Le bug le plus contraignant, au niveau du ciblage lorsqu'on utilise des objets et des magies. Quand on est en train de sélectionner une cible, la barre de chargement se remplit avant qu'on ait validé la cible. Et l'objet ou le sort est lancé sur la cible sur laquelle on se trouve au moment où la barre est à fond. Et je crois que ça a une conséquence sur les sorts qu'on peut utiliser depuis le menu (comme Premiers soins par exemple qui est un heal hors combat). Là, je ne peux pas l'utiliser depuis le menu, c'est grisé.

- Problème 2 :
Concernant le combat face aux Esprits et le fameux événement "A chaque tour". Lorsqu'un adversaire est KO, l'événement se déclenche en fin de tour. Dans ce cas, les barres ATB des personnages se figent. Mais si l'une d'elles est pleine, le personnage en question peut agir. Et s'il agit pendant l'événement (à savoir la résurrection d'un adversaire), l'action doit être revalidée dès que l'événement s'est terminé. Il faudrait améliorer ce point, je pense en désactivant la fenêtre de commande pour les personnages ayant leur barre ATB pleine, et en la remettant une fois l'événement terminé.

- Problème 3 :
Un point qui n'a plus l'air de fonctionner, c'est sur les statuts combinés comme Booster et Lenteur. Dans la config sur les statuts, ceux qui ont comme troisième terme "true" ne peuvent se combiner. Le nouveau statut remplace le statut précédent (ce qui est le cas des statuts Booster et Lenteur, donc ils ne sont pas censés se combiner). Or c'est le cas maintenant. Pourtant, avant ça marchait bien.

- Problème 4 :
Le bug le moins important mais à signaler. J'ai eu un plantage à un moment avec un message d'erreur mais je n'ai pas réussi à le reproduire une nouvelle fois. J'utilisais un sort de zone et au moment où le dernier ennemi mourait, je suis revenu dans le menu Combattre / S'enfuir / Combat auto et j'ai eu ceci :

image

Posté dans Forum - [RPG Maker VX Ace] Jauge ATB pour LNX Battle

Nérylis - posté le 26/07/2016 à 20:55:37. (149 messages postés)

Domaine concerné: Script
Logiciel utilisé: RPG Maker VX Ace
Bonsoir,

J'aurais besoin d'une âme généreuse pour m'aider à la dernière étape de mon système de combat, à savoir l'intégration de la jauge ATB. Pour ceux qui ne connaissent pas, il s'agit d'une évolution du tour par tour classique, qui consiste à intégrer une barre d'action qui se remplit progressivement. Lorsque celle-ci est remplie, le personnage peut agir. Au fur et à mesure que le joueur progresse, la barre ATB se remplit de plus en plus vite.

Je précise que j'utilise le LNX Battle qui est une refonte globale esthétique du système par défaut. J'ai déjà essayé d'utiliser les scripts ATB existants mais j'ai constaté de nombreux dysfonctionnements ou incompatibilités. Je ne sais pas s'il serait plus simple de s'inspirer d'un système existant ou de partir d'une feuille blanche (je ne m'y connais pas assez en script pour dire ça).

Tout d'abord, voici une démo avec simplement les scripts du LNX Battle : http://www.mediafire.com/download/a01l8y0jhfbk28a/Test+ATB.exe

Voici mes spécifications :

- Pour l'emplacement de la barre ATB, je pense à une barre verticale sur la gauche de l'avatar (voir ma Capture ici : http://www.servimg.com/view/11188066/132#). La barre se remplirait du bas vers le haut.
- Pour la représentation de la barre ATB, je dirais une barre noire aux extrémités et jaune à l'intérieur, avec la mention ATB à son sommet.

- Pour les ennemis, la barre ATB doit être invisible (je suis un habitué des FF). Donc, aucune possibilité de la rendre visible. Je considère que ça fait partie des "stats" de l'adversaire. Donc comme à la base, le joueur n'a pas d'infos sur les stats de ses adversaires, on reste cohérent.

- Pour la vitesse minimale de remplissage de la barre ATB, quand l'agilité est à 1, la barre se remplit en 10s.
- Pour la vitesse maximale, quand l'agilité atteint 200, la barre se remplit en 1s. Il faut prendre cette valeur comme une valeur fixe et non comme une valeur max. En d'autres termes, on considèrera qu'aller au-delà de 200 devient inutile pour remplir plus rapidement la jauge ATB. Comme je ne suis pas sûr de cette valeur, j'aimerais bien la possibilité de configurer ces éléments dans le script (valeur mini AGI et valeur maxi AGI).
- Lorsque l'ennemi a l'avantage, il doit agir aussitôt tandis que la barre ATB des personnages doit démarrer de 0. Lorsque le joueur a l'avantage, la même chose mais inversement.

- Facteur agissant sur la barre ATB : comme ça de tête, je ne pense qu'à des skills comme Booster ou Lenteur. J'ai dans l'idée de configurer des skills dans la BDD aboutissant sur des statuts d'état dans lesquels on mettrait un notetag du style "ATB : x2" ou "ATB : x0.5". Si par exemple, un personnage sous l'effet Booster devait subir Lenteur ou l'inverse, le nouveau statut prendrait le pas sur l'ancien.
- Pour les statuts d'état comme Paralysie, plusieurs possibilités : Barre ATB figée et elle reste remplie comme elle est au moment où le skill touche sa cible, c'est-à-dire que quand elle repartira, ça sera là où elle s'est arrêtée. Barre ATB figée et elle se met à 0, c'est-à-dire que quand elle repartira, ça sera du début. Pourquoi pas avoir les deux.

- Le LNX Battle propose une fonction pour accélérer le combat mais je ne souhaite pas conserver cette option avance rapide. Quand je joue au tour par tour classique, le côté aléatoire m'irrite souvent au point qu'une option pour accélérer le combat ne me gêne pas. En revanche, avec l'ATB, je n'ai pas besoin d'une telle option. Par contre, il existe une option "Combat auto" qui s'active en appuyant sur une touche et qui a pour conséquence de faire lancer l'attaque de base de chaque personnage sans que le joueur n'agisse par lui-même, tout en accélérant la vitesse du combat. Le combat devient automatique jusqu'à ce que le joueur désactive le mode "Combat auto", chose qu'il sera obligé de faire s'il veut lancer une autre compétence. Cette option est mémorisée sur le combat suivant si elle n'a pas été désactivée lors du combat précédent. Mais elle ne sera pas persistante au point d'être conservé à travers une sauvegarde de jeu. La touche pour activer/désactiver ce mode en combat sera Z dans la config RPG Maker. Dans le cas du Combat Auto, le ciblage se fera sur le premier adversaire.

- Ajout d'un menu pour laisser le choix au joueur de sélectionner "Actif" (le temps continue de défiler normalement quand le joueur décide des actions), "Semi-Actif" (le temps défile quatre fois moins vite, valeur par défaut, quand le joueur décide des actions) ou "Passif" (le temps se fige quand le joueur décide des actions). A voir plus tard pour mettre d'autres options de réglage.

- Un point essentiel pour finir : la possibilité de switcher entre les personnages dont la barre ATB est remplie (non applicable en mode Passif). C'est ce qui, à mes yeux, fait la grande différence entre le tour par tour classique et le système ATB. Cette fonction serait réalisable à tout moment en combat avec la touche Y (dans la config RPG Maker). On passerait directement au personnage suivant dont la jauge ATB est remplie. S'il n'y a qu'un seule personnage avec la jauge ATB remplie (c'est-à-dire que le joueur est sur les commandes de ce personnage forcément), cette fonction ne s'applique pas.
Pour résumer, un appui sur la touche permet de skip vers :
- soit le personnage suivant dont la barre ATB est pleine.
- soit on revient sur le personnage actuel si aucun autre personnage a la barre ATB pleine.
- il ne se passe rien si aucun personnage a sa barre ATB pleine.
Dans tous les cas :
- un appui sur cette touche laisse la barre ATB du personnage actuel à 100%
- on peut appuyer sur cette touche à n'importe quel moment, peu importe la fenêtre de commande sur laquelle on navigue
- quand on passe au personnage suivant ou qu'on revient sur le personnage actuel, c'est sur la fenêtre de commande de base par défaut et non celle qu'on a quitté précédemment.

Voilà, si vous avez des questions, n'hésitez pas.

Posté dans Forum - [RPG Maker VX Ace] Coordonnées X et Y moyen de transport

Nérylis - posté le 01/07/2016 à 16:55:17. (149 messages postés)

On m'a répondu sur un autre forum avec ça :
$game_map.vehicles[n].x
$game_map.vehicles[n].y
n désignant le moyen de transport (0, 1 ou 2).

J'ai testé, ça marche bien on dirait.
Merci quand même.

Posté dans Forum - [RPG Maker VX Ace] Coordonnées X et Y moyen de transport

Nérylis - posté le 30/06/2016 à 18:05:02. (149 messages postés)

Domaine concerné: Script
Logiciel utilisé: RPG Maker VX Ace
Coucou,

J'ai une question assez simpliste : comment on fait pour récupérer les coordonnées X et Y des moyens de transport (aéronef, bâteau, radeau) afin de les stocker dans des variables ? J'imagine qu'il faut utiliser le dernier champ "Script" dans la commande "Modifier une variable"mais comment doit-on formuler ce champ ?

Posté dans Forum - [RPG Maker VX Ace] Centrage de texte

Nérylis - posté le 23/06/2016 à 22:07:54. (149 messages postés)

Non, il n'y a pas de ligne avec super.

Posté dans Forum - [RPG Maker VX Ace] Centrage de texte

Nérylis - posté le 23/06/2016 à 21:04:00. (149 messages postés)

Citation:

Pour le problème en question, est-ce que la zone qui accueille le texte est assez large pour voir une différence entre les alignements possibles ?



Comment on sait ça ?

Posté dans Forum - [RPG Maker VX Ace] Centrage de texte

Nérylis - posté le 23/06/2016 à 20:14:39. (149 messages postés)

Mon projet est terminé. C'est mon dernier souci actuellement, c'est de l'optimisation. Du détail certes, mais ça a son importance en terme de rigueur.

Posté dans Forum - [RPG Maker VX Ace] Centrage de texte

Nérylis - posté le 22/06/2016 à 17:59:51. (149 messages postés)

Domaine concerné: Script
Logiciel utilisé: RPG Maker VX Ace
Coucou,

J'utilise le script de BlackMorning - Ace status addon pour optimiser l'Ace status menu de Yanfly. Dans le menu Statut, on retrouve un onglet Biographie qui permet d'afficher une bio plus développée des personnages. Par contre, le texte est justifié à gauche. J'aurais voulu le centrer.

Voici le lien du script : https://drive.google.com/file/d/0B1cW_5YDc5H_QXl3YU5sMWRReTQ/edit

En changeant le 2 à la fin de la parenthèse du draw_text(x + cw, y, width-cw, line_height, text2, 2) présent dans le def draw_actor_bio_info(id, x, y, width = 100), ça ne change rien. Quelqu'un saurait m'aider ?

Posté dans Forum - [RPG Maker VX Ace] Problème position personnages

Nérylis - posté le 19/06/2016 à 20:58:04. (149 messages postés)

Cette fois, ça marche bien. Merci Zeus, effectivement t'es un tueur pour ces trucs là.^^

Posté dans Forum - [RPG Maker VX Ace] Problème position personnages

Nérylis - posté le 19/06/2016 à 10:12:42. (149 messages postés)

Je viens de tester, ça a l'air de bien marcher. Merci. :)

Par contre, j'ai un petit souci sur un event. Sur mon donjon à plusieurs équipes, lors de la création des équipes, j'ai plusieurs appels de script. Et là en l'occurence, j'obtiens un message d'erreur qui est le suivant :

image

Ce message apparaît après avoir créé la première équipe après le script call_party qu'on peut voir dans mon event sur ce screenshot :

image

Je pense que ça doit être dû aux appels de scripts qui suivent puisque le plantage a lieu avant le message "Créez l'équipe 2". Est-ce que tu vois d'où vient le problème ? Sinon, au pire, je peux réécrire mon event sans faire d'appel de script mais pour l'avoir déjà fait, ça donne quelque chose de super long et quand on m'avait donné cette méthode avec les appels de script, j'étais content.^^

Edit : Je pense que ça sera peut-être plus facile pour toi avec la démo de ce mini projet pour corriger les appels de script : http://www.mediafire.com/download/d87ern13stlad81/Teams.exe

Posté dans Forum - [RPG Maker VX Ace] Problème position personnages

Nérylis - posté le 18/06/2016 à 21:16:44. (149 messages postés)

En testant les deux possibilités, on perd effectivement le positionnement des combattants en première position. Il faudrait garder cette fonctionnalité, et juste changer le positionnement des non combattants. Si c'est possible.

Edit : Arttroy, j'ai testé en mettant (3) mais je n'ai pas vu de différence.

Posté dans Forum - [RPG Maker VX Ace] Problème position personnages

Nérylis - posté le 18/06/2016 à 15:52:46. (149 messages postés)

Non, ça ne marche pas.

Posté dans Forum - [RPG Maker VX Ace] Problème position personnages

Nérylis - posté le 18/06/2016 à 15:21:10. (149 messages postés)

Oui, c'est ce que je disais, entre les lignes 330 et 376.

Posté dans Forum - Compositions Musicales/Chansons/Mixs

Nérylis - posté le 18/06/2016 à 11:41:00. (149 messages postés)

Coucou,

Voici une de mes rares compositions qui, je pense, pourrait avoir sa place dans un RPG. Plus particulièrement, je l'imagine bien en thème de WorldMap. Je n'ai pas vraiment cherché à faire un thème de RPG mais je n'ai pas pu m'empêcher de tilter que ça pourrait le faire.

Voici le morceau : http://www.youtube.com/watch?v=lgkRLx5FuQk

Qu'en pensez-vous ?

Posté dans Forum - [RPG Maker VX Ace] Problème position personnages

Nérylis - posté le 17/06/2016 à 20:32:15. (149 messages postés)

Non Zeus, c'était autre chose. ;)

Reivilo : Yanfly fait de sacrés scripts mais laisse de jolis bugs dedans. Le souvenir le plus notable que j'ai, c'est son script Adjust limits qui comportait un fameux bug qui est le suivant : lorsqu'on chargeait une partie, on se retrouvait avec des objets complètement aléatoires dans l'inventaire. Fun ! Mais bon, il fait quand même de belles choses, ça manque juste de tests.

Posté dans Forum - [RPG Maker VX Ace] Problème position personnages

Nérylis - posté le 17/06/2016 à 19:49:42. (149 messages postés)

Domaine concerné: Script
Logiciel utilisé: RPG Maker VX Ace
Coucou,

J'essaie depuis quelques jours de résoudre un petit problème avec le script de Yanfly - Party System que voici : https://github.com/Archeia/YEARepo/blob/master/Menu/Party_System.rb

J'ai remarqué que lorsqu'on change un personnage combattant avec un autre personnage non combattant, le premier se place en tête de liste des personnages non combattants au lieu de prendre la place de son successeur. Compliqué à comprendre, pas vrai ? J'explique.

Admettons que j'ai 8 personnages comme c'est le cas sur ce screenshot : http://img11.hostingpics.net/pics/858422Capture.png
Les 4 premiers personnages en vert sont les combattants, les 4 autres sont les non combattants.
Si je décide par exemple de remplacer le personnage 2 (combattant) par le personnage 7 (non combattant), ce dernier va bien prendre la position 2. Par contre, le personnage 2 ne va pas se mettre en position 7. Il va se mettre en première position des personnages non combattants (en l’occurrence ici en position 5) et les autres personnages en position 5 et 6 vont se décaler en position 6 et 7.

Ce que je voudrais, c'est qu'il n'y ait pas ce décalage et que le personnage combattant se mettre en lieu et place du personnage qu'il le remplace. Au niveau du script, ça doit se faire entre les lignes 330 et 376 mais je n'ai pas trouvé comment faire. Pouvez-vous m'aider svp ?

Posté dans Forum - [RPG Maker VX Ace] Petits soucis avec les TP

Nérylis - posté le 13/06/2016 à 20:57:47. (149 messages postés)

Quelqu'un d'autre ?

Edit : Les deux premiers problèmes ont été résolus, il reste le dernier. Le plus compliqué à la vue des scripts LNX. Il faudrait que lors d'un gain de TP, le popup affiché soit similaire à celui des gains en HP ou MP, et non pas Miss.

Posté dans Forum - [RPG Maker VX Ace] Petits soucis avec les TP

Nérylis - posté le 12/06/2016 à 14:16:48. (149 messages postés)

C'est pas exactement que je recherche. Certes, la regen TP marche avec :regen_tp dans le script. Seulement, les TP Mode s'activent manuellement pour chaque personnage. Maintenant, si je veux qu'un personnage particulier ait un bonus de regen TP, c'est pas dans le script que je vais régler ça mais dans la BDD. Tout comme si je veux mettre une regen TP sur un équipement ou un statut d'état. Et là, ça ne fonctionne pas.

Pour le skill, j'ai essayé 50%, 100% et 300% avec un personnage ayant 300 TP, j'ai respectivement récupéré 50, 100 et 300 TP, ce qui correspond à une valeur de base de 100, soit la valeur par défaut dans RPG Maker. Et c'est cela qu'il faut modifier pour avoir le bon gain quand le skill est utilisé.

Posté dans Forum - [RPG Maker VX Ace] Petits soucis avec les TP

Nérylis - posté le 12/06/2016 à 13:43:57. (149 messages postés)

Ouh là, je comprends pas tout. Faut traiter les problèmes un par un et pas mélanger les deux sinon ça va être dur.^^

Pour le script de Yanfly, on peut juste débloquer des TP Mode avec les scripts call des skills et équipements, mais ce n'est pas ce que je recherche. Les TP Mode se changent depuis le menu pour chaque personnage. Ce que je veux, c'est simplement retrouver la fonctionnalité de base pour régénérer les TP avec un équipement, un statut d'état... mais en gardant les possibilités du script de Yanfly.

Pour le script de Tsukihime, on prend bien la valeur en notetag à la place de 100 pour ensuite calculer le pourcentage de gain. Où se fait la modification ?

Posté dans Forum - [RPG Maker VX Ace] Petits soucis avec les TP

Nérylis - posté le 12/06/2016 à 12:37:58. (149 messages postés)

D'accord, et comment on fait quand c'est un équipement, un skill ou un statut d'état par exemple qui active une regen des TP ?

Edit : ahh peut-être en notetag alors mais il n'y a rien pour les statuts d'état ou les équipements on dirait.

Posté dans Forum - [RPG Maker VX Ace] Petits soucis avec les TP

Nérylis - posté le 12/06/2016 à 11:54:44. (149 messages postés)

Tu veux parler de la config des TP Mode dans le script ? Oui, c'est normal. Ça permet de déterminer de quelle façon les TP vont monter (quand on se prend des dégâts, quand on inflige des dégâts...) et combien on gagne à chaque fois.

Posté dans Forum - [RPG Maker VX Ace] Petits soucis avec les TP

Nérylis - posté le 12/06/2016 à 11:29:41. (149 messages postés)

Pour le problème lié au script de Yanfly, on peut tester via l'écran des personnages la récup à chaque tour comme ceci :

image

Pour le problème lié au script de Tsukihime, on peut tester via l'écran des skills comme ceci :

image

Posté dans Forum - [RPG Maker VX Ace] Petits soucis avec les TP

Nérylis - posté le 12/06/2016 à 11:19:05. (149 messages postés)

Oui, c'est ça, je récupère 10 au lieu de 20.

J'ai testé les scripts indépendamment, ce sont deux problèmes distincts qui n'ont rien à voir l'un envers l'autre.

Posté dans Forum - [RPG Maker VX Ace] Petits soucis avec les TP

Nérylis - posté le 12/06/2016 à 09:40:35. (149 messages postés)

On va la refaire parce que je crois que vous n'avez pas bien compris.

Pour le problème lié au script de Yanfly - TP Manager, la perte ou le gain des TP à chaque tour ne fonctionne plus. Sur un projet vierge, si je configure pour un personnage une regen TP de 10%, à chaque tour ce personnage récupère 10 TP (10% de 100), là tout va bien. Maintenant, quand j'ajoute le script de Yanfly, à chaque tour, je ne récupère aucun TP. Donc, le problème n'est pas dû à un problème de comptabilité, c'est tout simplement un bug lié au script. Donc, c'est ça que j'aimerais corriger.

Pour le problème lié au script de Tsukihime - Max TP formula, la valeur max de TP d'un personnage est définie en notetag (donc ce n'est plus 100 comme par défaut). Mais lorsqu'on configure un skill qui régénère des TP, RPG Maker considère toujours cette valeur max à 100. Ce qui veut dire que si je configure un skill qui régénère 50% de TP, mon personnage va récupérer 50 TP (50% de 100) alors que celui-ci peut avoir à ce moment-là une quantité inférieure ou supérieure à 100. Donc, là encore, c'est un bug qui est uniquement lié à ce script et non pas un problème de comptabilité.

Pour le troisième problème, on verra plus tard. Si déjà les deux problèmes ci-dessus pouvaient être corrigés, ça serait pas mal.

Posté dans Forum - [RPG Maker VX Ace] Petits soucis avec les TP

Nérylis - posté le 10/06/2016 à 16:33:18. (149 messages postés)

Oui, c'est la même démo.

C'est pas le nombre de scripts qui est un problème, c'est juste que certains auteurs omettent des points essentiels quand ils font leurs scripts. Un exemple qui me revient en tête, celui de Tsukihime justement avec la formule de TP, il avait zappé d eprendre en compte le remplissage de la jauge TP enfonction de sa formule, si bien qu'arrivé à 100, la barre était pleine alors qu'on pouvait monter plus haut. C'est un peu le même souci là.

Le seul point vraiment compliqué, c'est le LNX battle. Je pense que les deux premiers soucis peuvent être traités assez facilement. Je vais éditer le premier post avec les scripts impactés, ça peut être traité indépendamment de la démo.

Edit : Apparemment pour le second problème, la regen TP n'est pas une valeur de pourcentage comme c'est indiqué dans la BDD mais une valeur fixe, ce qui est un peu bête. J'ai cherché comment modifier cela mais je n'ai pas trouvé comment faire.

Posté dans Forum - [RPG Maker VX Ace] Petits soucis avec les TP

Nérylis - posté le 10/06/2016 à 15:23:29. (149 messages postés)

Domaine concerné: Script
Logiciel utilisé: RPG Maker VX Ace
Coucou, je rencontre dans mon projet plusieurs petits problèmes liés aux points TP.

- [Résolu]Première chose. J'utilise le script de Yanfly - TP Manager. Le problème, c'est que la perte ou gain à chaque tour de points TP (qu'on peut configurer pour les armes ou armures par exemple) ne fonctionne plus. Après test, je confirme que c'est bien lié à ce script. Il doit y avoir un conflit quelque part. Le script est ci-dessous. Sinon, le lien du script est ici : https://github.com/Archeia/YEARepo/blob/master/Gameplay/TP_Manager.rb

- [Résolu]Deuxième chose. J'utilise le script de Tsukihime - Max TP Formula qui permet de définir une formule en notetag pour les personnages afin de déterminer combien de TP ils peuvent acquérir. Par défaut, la valeur max des TP est de 100. Le problème, c'est que lorsqu'on configure un effet de skill ou d'objet pour régénérer un pourcentage des TP, le calcul se fait avec pour valeur max 100, la valeur par défaut. Or, il faudrait prendre en compte la nouvelle valeur max liée au script de Tsukihime. Le script est ci-dessous. Sinon, le lien du script est ici : http://himeworks.com/redirect.php?type=script&name=Max_TP_Formula

- [Résolu]Troisième chose. Toujours par rapport à un skill qui régénère les TP. J'utilise les scripts LNX pour mon système de combat. Lorsque je régénère les HP ou les MP, je vois les valeurs apparaître à l'écran. Mais pour les TP, ça me met Miss au lieu de mettre la valeur récupérée. C'est le souci le plus compliqué je pense à régler. Je laisse une démo cette fois : http://www.mediafire.com/download/ecp7zitn62l91kh/Battle+test+update.exe

Posté dans Forum - [RPG Maker VX Ace] Décompte des objets en combat

Nérylis - posté le 08/06/2016 à 18:13:05. (149 messages postés)

Testé, ça marche à la perfection. Voilà qui rend les choses plus conventionnelles. Merci beaucoup pour votre aide. :)

Posté dans Forum - [RPG Maker VX Ace] Décompte des objets en combat

Nérylis - posté le 07/06/2016 à 16:05:20. (149 messages postés)

Théoriquement, oui ça a l'air d'être ça. Après, je ne sais pas comment c'est géré du fait qu'il y ait 2, 3, 4 ou plus de personnages qui se battent en combat.

Posté dans Forum - [RPG Maker VX Ace] Décompte des objets en combat

Nérylis - posté le 07/06/2016 à 11:11:29. (149 messages postés)

Avec un système ATB, pourquoi pas. Mais là, je viens de regarder sur FF1 au tour par tour comme sur RPG Maker. Les objets sont bien décomptés lorsqu'ils sont sélectionnés, mais rendus si l'action est annulée. Donc, si ça pouvait être pareil sur RPG Maker, ça serait mieux et ça éviterait d'utiliser des objets qu'on a plus parce que déjà utilisés par le(s) personnage(s) précédent(s).

Posté dans Forum - [RPG Maker VX Ace] Décompte des objets en combat

Nérylis - posté le 07/06/2016 à 08:46:19. (149 messages postés)

Bin c'est surtout que ce n'est pas rigoureux et qu'on voit pas ça dans les RPGs classiques.

Posté dans Forum - [RPG Maker VX Ace] Décompte des objets en combat

Nérylis - posté le 06/06/2016 à 21:56:39. (149 messages postés)

Domaine concerné: Script
Logiciel utilisé: RPG Maker VX Ace
Coucou,

Je me suis aperçu de quelque chose d'assez bidon dans la config de base de RPG Maker. Lorsqu'on sélectionne un objet en combat avec le premier personnage, si on décide de faire la même chose avec le second personnage, on se rend compte que la quantité n'a pas bougé.

En prenant un exemple simple où je possède 3 potions et que je décide d'utiliser l'objet potion avec les 4 personnages en combat, comme le jeu ne décompte pas les potions en fonction des choix, je peux sélectionner cet objet pour les 4 personnages et le dernier à agir ne fait rien. C'est bête.

Comment faire pour faire le décompte des objets en fonction des choix durant le tour ? Sans oublier que si j'annule une action, l'objet doit être rendu.

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Nérylis - posté le 25/05/2016 à 18:24:58. (149 messages postés)

Omg, pour une fois, c'est moi qui t'ai dépanné !^^

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Nérylis - posté le 24/05/2016 à 18:39:52. (149 messages postés)

Si c'est pour faire une condition, pas besoin de script, tu utilises la commande Récupérer les informations. Tu peux stocker dans une variable plusieurs types de données, dont les zones de combat. Perso, j'utilise cette commande pour récupérer les numéros de terrain.

Posté dans Forum - [RPG Maker VX Ace] Pourcentages de résistances aux éléments

Nérylis - posté le 15/05/2016 à 11:01:22. (149 messages postés)

Oui, je l'ai mis après Equipment Sets.

Posté dans Forum - [RPG Maker VX Ace] Pourcentages de résistances aux éléments

Nérylis - posté le 15/05/2016 à 10:04:24. (149 messages postés)

J'ai testé une trentaine de valeurs, plus quelques additions. Le résultat a été bon à chaque fois. On peut donc considérer que la formule est correcte. Merci du coup de pouce.

Par contre, pour le problème de l'Absorption, ça ne marche pas. J'ai mis ton script en-dessous des autres mais le problème demeure.

Posté dans Forum - [RPG Maker VX Ace] Pourcentages de résistances aux éléments

Nérylis - posté le 14/05/2016 à 23:08:40. (149 messages postés)

Effectivement, ça corrige mieux les valeurs mais il doit y avoir encore des approximations. Quand je configure un équipement ResFeu*58%, j'obtiens 44% de résistance en feu au lieu de 42.

J'avais bien placé ton script sous Equipment Sets mais le problème est toujours là.

Posté dans Forum - [RPG Maker VX Ace] Pourcentages de résistances aux éléments

Nérylis - posté le 14/05/2016 à 22:14:26. (149 messages postés)

Tu utilises ma démo ? De base, toutes les résistances sont à 0%. Quand je configure un des équipements de base en ResFeu*60%, j'obtiens bien 40% de résistance en feu. Si j'en configure un autre pareil, je devrai avoir 80%. Or, j'obtiens 81%. De même, si je configure un seul équipement en ResFeu*20%, au lieu d'avoir 80%, j'ai 81%. Il y a plusieurs valeurs "finales" qui ont ce souci.

Ton script ne résout pas le problème de l'absorption malheureusement. J'ai testé, j'ai mis ton script en-dessous et l'autre au-dessus mais la résistance passe toujours en Absorption au lieu de passer en Insensible.

Posté dans Forum - [RPG Maker VX Ace] Pourcentages de résistances aux éléments

Nérylis - posté le 14/05/2016 à 21:57:35. (149 messages postés)

Oui, j'ai vu comment ça fonctionnait, ça additionne bien. Je dois mettre le bout de script au-dessus des scripts de set et d'absorption.

J'ai testé ta solution mais ça ne marche pas.

Est-ce que tu vois pourquoi ça ajoute 1% quand je configure 10 et 20 dans la BDD (ce qui devrait donner 90 et 80% mais ça affiche 91 et 81%) ?

Posté dans Forum - Compositions Musicales/Chansons/Mixs

Nérylis - posté le 14/05/2016 à 20:13:35. (149 messages postés)

Très joli ton morceau Les rêves de la Comtesse.

Aller à la page: 1 2 3 4

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