Bienvenue visiteur !
|
Désactiver la neige
Statistiques
Liste des membres
Contact
Mentions légales
442 connectés actuellement
30912799 visiteurs depuis l'ouverture
2435 visiteurs aujourd'hui
Partenaires
Tous nos partenaires
Devenir partenaire
|
TX000 -
posté le 22/04/2015 à 18:50:19 (15 messages postés)
| | 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
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 (524 messages postés)
| | Essaye ça :
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)
| | J'ai essayé ton code avec différentes valeurs et ça ne marche pas super bien :
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à :
J'espère que je ne demande pas l'impossible, et merci de te pencher sur mon problème .
|
"Celui qui ne sait rien, ne peut rien comprendre" - Ansem le Sage |
cortez -
posté le 23/04/2015 à 15:25:51 (524 messages postés)
| | 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 :
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.
1
| dy-= 20 #20 ou plus selon le rendu in game. |
Ensuite tu modifies remplace le morceau que tu as posté par celui-ci : Modifie les XXX !
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)
| Just working | Et sinon ca conviendrais pas en changeant juste le method: draw item ligne 1795 par ça ?
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)
| | Alors j'ai modifié le script comme tu me l'as indiqué, ce qui me donne ça :
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 :
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 (524 messages postés)
| | 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)
1
| draw_gauge(dx, dy, width, actor.hp_rate, hp_gauge_color1, hp_gauge_color2) |
devient
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)
| | 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 .
|
"Celui qui ne sait rien, ne peut rien comprendre" - Ansem le Sage |
cortez -
posté le 24/04/2015 à 15:08:15 (524 messages postés)
| | Content que tu ais réussi. ^^
|
Index du forum > Entraide > [RESOLU] [VX ACE] Problème concernant le script
|
|
|