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

Interviews: Ephy / Tutos: Godot : Premier Contact -Partie (...) / Tutos: Godot : Premier Contact -Partie (...) / Making-of: Ma première game jam classée / Jeux: Oracle of Tao / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

100 connectés actuellement

11006390 visiteurs
depuis l'ouverture

999 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Hellsoft

Planète Glutko

Le Temple de Valor

RPG Maker Détente

New RPG Maker

Tous nos partenaires

Devenir
partenaire



forums

Index du forum > Entraide > [RESOLU] [VX ACE] Problème concernant le script


TX000 - posté le 22/04/2015 à 18:50:19 (15 messages postés)

❤ 0

Bonjour tout le monde !

J'utilise le script "Yanfly Ace Battle Engine" que voici : https://yanflychannel.wordpress.com/rmvxa/battle-scripts/ace-battle-engine/

Le souci c'est qu'il m'affiche les jauges de TP et de MP côte à côte, alors que je voudrais qu'il m'affiche la jauge de TP en desous de la jauge de MP. Si quelqu'un pourrait m'indiquer comment modifier le script pour afficher les 3 jauges les unes en dessous des autres ce serait sympa.

Merci d'avance !

EDIT : Il me semble que c'est cette portion qu'il faut modifier

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
 #--------------------------------------------------------------------------
  # overwrite method: draw_actor_mp
  #--------------------------------------------------------------------------
  def draw_actor_mp(actor, dx, dy, width = 124)
    draw_gauge(dx, dy, width, actor.mp_rate, mp_gauge_color1, mp_gauge_color2)
    change_color(system_color)
    cy = (Font.default_size - contents.font.size) / 2 + 1
    draw_text(dx+2, dy+cy, 30, line_height, Vocab::mp_a)
    draw_current_and_max_values(dx, dy+cy, width, actor.mp, actor.mmp,
      mp_color(actor), normal_color)
    end
    
  #--------------------------------------------------------------------------
  # overwrite method: draw_actor_tp
  #--------------------------------------------------------------------------
  def draw_actor_tp(actor, dx, dy, width = 124)
    draw_gauge(dx, dy, width, actor.tp_rate, tp_gauge_color1, tp_gauge_color2)
    change_color(system_color)
    cy = (Font.default_size - contents.font.size) / 2 + 1
    draw_text(dx+2, dy+cy, 30, line_height, Vocab::tp_a)
    change_color(tp_color(actor))
    draw_text(dx + width - 42, dy+cy, 42, line_height, actor.tp.to_i, 2)
  end



"Celui qui ne sait rien, ne peut rien comprendre" - Ansem le Sage


cortez - posté le 22/04/2015 à 20:46:59 (433 messages postés)

❤ 0

Essaye ça :

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
 #--------------------------------------------------------------------------
  # overwrite method: draw_actor_mp
  #--------------------------------------------------------------------------
  def draw_actor_mp(actor, dx, dy, width = 124)
    draw_gauge(dx, dy, width, actor.mp_rate, mp_gauge_color1, mp_gauge_color2)
    change_color(system_color)
    cy = (Font.default_size - contents.font.size) / 2 + 1
    draw_text(dx+2, dy+cy, 30, line_height, Vocab::mp_a)
    draw_current_and_max_values(dx, dy+cy, width, actor.mp, actor.mmp,
      mp_color(actor), normal_color)
    end
    
  #--------------------------------------------------------------------------
  # overwrite method: draw_actor_tp
  #--------------------------------------------------------------------------
  def draw_actor_tp(actor, dx, dy, width = 124)
    dy+= 15 #Changer le chiffre pour modifier la position en y de la jauge.
    draw_gauge(dx, dy, width, actor.tp_rate, tp_gauge_color1, tp_gauge_color2)
    change_color(system_color)
    cy = (Font.default_size - contents.font.size) / 2 + 1
    draw_text(dx+2, dy+cy, 30, line_height, Vocab::tp_a)
    change_color(tp_color(actor))
    draw_text(dx + width - 42, dy+cy, 42, line_height, actor.tp.to_i, 2)
  end




TX000 - posté le 22/04/2015 à 21:36:55 (15 messages postés)

❤ 0

J'ai essayé ton code avec différentes valeurs et ça ne marche pas super bien :
image
On vois à peine la jauge de TP et elle est réduite de moitié tout comme la jauge de MP. Il faudrait trouver le moyen de remonter la hauteur de toutes les jauges et d'avoir des jauges pleines et non pas des demi-jauges.
Je cherche à obtenir un résultat comme celui-là :
image
J'espère que je ne demande pas l'impossible, et merci de te pencher sur mon problème :sourit.

"Celui qui ne sait rien, ne peut rien comprendre" - Ansem le Sage


cortez - posté le 23/04/2015 à 15:25:51 (433 messages postés)

❤ 0

Je n'arrive pas à récupérer le script. Je vais donc t'aider à le modifier par toi même.

Premièrement tu dois trouver le morceau de script qui affiche les HP. Il commence
par :

Portion de code : Tout sélectionner

1
2
3
4
5
  #--------------------------------------------------------------------------
  # overwrite method: draw_actor_hp
  #--------------------------------------------------------------------------
  def draw_actor_hp(actor, dx, dy, width = XXX)
  ...



Regarde les XXX et note ce chiffe, il nous servira à modifier la longueur de la barre
des Mp et Tp. En dessous de "def draw_actor_hp"

Ajoute une nouvelle ligne.

Portion de code : Tout sélectionner

1
dy-= 20 #20 ou plus selon le rendu in game.



Ensuite tu modifies remplace le morceau que tu as posté par celui-ci : :avert2 Modifie les XXX !

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
  #--------------------------------------------------------------------------
  # overwrite method: draw_actor_mp
  #--------------------------------------------------------------------------
  def draw_actor_mp(actor, dx, dy, width = XXX) # Remplace XXX par le chiffre trouvé dans le script des Hp
  dy -= 20 # Remplace 20 par le chiffre que tu as mis pour les HP
    draw_gauge(dx, dy, width, actor.mp_rate, mp_gauge_color1, mp_gauge_color2)
    change_color(system_color)
    cy = (Font.default_size - contents.font.size) / 2 + 1
    draw_text(dx+2, dy+cy, 30, line_height, Vocab::mp_a)
    draw_current_and_max_values(dx, dy+cy, width, actor.mp, actor.mmp,
      mp_color(actor), normal_color)
    end
    
  #--------------------------------------------------------------------------
  # overwrite method: draw_actor_tp
  #--------------------------------------------------------------------------
  def draw_actor_tp(actor, dx, dy, width = XXX) # Remplace XXX par le chiffre trouvé dans le script des Hp
    draw_gauge(dx, dy, width, actor.tp_rate, tp_gauge_color1, tp_gauge_color2)
    change_color(system_color)
    cy = (Font.default_size - contents.font.size) / 2 + 1
    draw_text(dx+2, dy+cy, 30, line_height, Vocab::tp_a)
    change_color(tp_color(actor))
    draw_text(dx + width - 42, dy+cy, 42, line_height, actor.tp.to_i, 2)
  end



Petite explication sur la manipulation :
dx et dy sont des variables qui donnent la position en x et y de l'affichage de la jauge et du reste.
J'ai utilisé l'opération += et -= en fait c'est un raccourci pour une formule plus longue.
"a+= 2" équivaut à "a = a+2" Pareil avec les autres signes d'opération ( - + / * )


arttroy - posté le 23/04/2015 à 15:45:17 (2394 messages postés)

❤ 0

Just working

Et sinon ca conviendrais pas en changeant juste le method: draw item ligne 1795 par ça ?

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
  #--------------------------------------------------------------------------
  # overwrite method: draw_item
  #--------------------------------------------------------------------------
  def draw_item(index)
    return if index.nil?
    clear_item(index)
    actor = battle_members[index]
    rect = item_rect(index)
    return if actor.nil?
    draw_actor_face(actor, rect.x+2, rect.y+2, actor.alive?)
    draw_actor_name(actor, rect.x, rect.y, rect.width-8)
    draw_actor_action(actor, rect.x, rect.y)
    draw_actor_icons(actor, rect.x, line_height*0, rect.width)
    gx = YEA::BATTLE::BATTLESTATUS_HPGAUGE_Y_PLUS
    contents.font.size = YEA::BATTLE::BATTLESTATUS_TEXT_FONT_SIZE
    draw_actor_hp(actor, rect.x+2, line_height*1+gx, rect.width-4)
    if draw_tp?(actor) && draw_mp?(actor)
      dw = rect.width/2-2
      dw += 1 if $imported["YEA-CoreEngine"] && YEA::CORE::GAUGE_OUTLINE
      draw_actor_tp(actor, rect.x+2, line_height*3, dw)
      dw = rect.width - rect.width/2 - 2
      draw_actor_mp(actor, rect.x+rect.width/2, line_height*2, dw)
    elsif draw_tp?(actor) && !draw_mp?(actor)
      draw_actor_tp(actor, rect.x+2, line_height*3, rect.width-4)
    else
      draw_actor_mp(actor, rect.x+2, line_height*2, rect.width-4)
    end
  end
 



Après je trouve pas comment configurer pour que le perso ait des TP donc je suis pas sûr du truc.

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


TX000 - posté le 23/04/2015 à 16:04:34 (15 messages postés)

❤ 0

Alors j'ai modifié le script comme tu me l'as indiqué, ce qui me donne ça :

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
 
  #--------------------------------------------------------------------------
  # overwrite method: draw_actor_hp
  #--------------------------------------------------------------------------
  def draw_actor_hp(actor, dx, dy, width = 124)
    dy -= 10
    draw_gauge(dx, dy, width, actor.hp_rate, hp_gauge_color1, hp_gauge_color2)
    change_color(system_color)
    cy = (Font.default_size - contents.font.size) / 2 + 1
    draw_text(dx+2, dy+cy, 30, line_height, Vocab::hp_a)
    draw_current_and_max_values(dx, dy+cy, width, actor.hp, actor.mhp,
      hp_color(actor), normal_color)
    end
    
  #--------------------------------------------------------------------------
  # overwrite method: draw_actor_mp
  #--------------------------------------------------------------------------
  def draw_actor_mp(actor, dx, dy, width = 124) # Remplace XXX par le chiffre trouvé dans le script des Hp
    dy -= 10 # Remplace 20 par le chiffre que tu as mis pour les HP
    draw_gauge(dx, dy, width, actor.mp_rate, mp_gauge_color1, mp_gauge_color2)
    change_color(system_color)
    cy = (Font.default_size - contents.font.size) / 2 + 1
    draw_text(dx+2, dy+cy, 30, line_height, Vocab::mp_a)
    draw_current_and_max_values(dx, dy+cy, width, actor.mp, actor.mmp,
      mp_color(actor), normal_color)
    end
    
  #--------------------------------------------------------------------------
  # overwrite method: draw_actor_tp
  #--------------------------------------------------------------------------
  def draw_actor_tp(actor, dx, dy, width = 124) # Remplace XXX par le chiffre trouvé dans le script des Hp
    draw_gauge(dx, dy, width, actor.tp_rate, tp_gauge_color1, tp_gauge_color2)
    change_color(system_color)
    cy = (Font.default_size - contents.font.size) / 2 + 1
    draw_text(dx+2, dy+cy, 30, line_height, Vocab::tp_a)
    change_color(tp_color(actor))
    draw_text(dx + width - 42, dy+cy, 42, line_height, actor.tp.to_i, 2)
  end


Et voilà le résultat : image
Au niveau position des jauges on est bon merci. Il ne reste plus qu'à trouver le moyen de placer la jauge de MP à gauche, et à augmenter la longueur des 2 jauges MP et TP pour qu'elles fassent la même taille que la jauge de HP.

Au début je voulais poster le script complet mais ça n'a pas marché parce qu'il est trop long.

@ arttroy : J'ai essayé ta méthode ça permet effectivement d'avoir la jauge de TP sous la jauge de MP par contre ça me donne un rendu un peu moche (jauge de TP trop basse par rapport à la jauge du dessus).

"Celui qui ne sait rien, ne peut rien comprendre" - Ansem le Sage


cortez - posté le 23/04/2015 à 17:36:18 (433 messages postés)

❤ 0

Pour la longueur des jauges je sais pas trop mais pour les aligner il faut modifier
dx (inspire toi du dy que j'ai fait.)

Au final tu devrais avoir
dy -=20
dx-= XX (- pour déplacer vers la gauche et + pour aller vers la droite.

Edit : Pour la longueur des jauges au pire des cas tu peux essayer de remplacer
le mot width par une valeur en pixel (au pif 92)

Portion de code : Tout sélectionner

1
draw_gauge(dx, dy, width, actor.hp_rate, hp_gauge_color1, hp_gauge_color2)


devient

Portion de code : Tout sélectionner

1
draw_gauge(dx, dy, 92, actor.hp_rate, hp_gauge_color1, hp_gauge_color2)




TX000 - posté le 24/04/2015 à 11:12:42 (15 messages postés)

❤ 0

Merci beaucoup pour ton aide ça marche parfaitement bien maintenant, c'est nickel. J'ai même réussi à modifier d'autres scripts qui touche à l'affichage en combat grâce à tes indications :D.

"Celui qui ne sait rien, ne peut rien comprendre" - Ansem le Sage


cortez - posté le 24/04/2015 à 15:08:15 (433 messages postés)

❤ 0

Content que tu ais réussi. ^^

Index du forum > Entraide > [RESOLU] [VX ACE] Problème concernant le script

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 | 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