Écran de fin de combat

4 Réponses • 163 Vues

Hey !
Aujourd'hui, en avançant sur mon projet, j'ai un peu continué la partie combat et à la fin, en mode BW, l'écran noircit comme ceci :

Le problème, c'est qu'à cause du style de la boîte de message, j'ai dû intégré le fond au battleback. Mais du coup, ça rend pas très bien. Y aurait-il un moyen d'appliquer la noirceur que sur une certaine partie de l'écran ?
Je précise que j'ai cherché dans ce fichier : 01500 Alpha 24 Battle Engine (deprecated)\01600 Scene_Battle\01400 Scene_Battle_Phase_5.rb, plus précisément dans la fonction phase5_trainer_end et je n'ai malheureusement pas trouvé... Sur le Discord, Nuri m'a dit de check vers la ligne qui affiche le message de victoire/défaite :
display_message($game_switches[Yuki::Sw::BT_Defeat] ? @victory_phrase : @defeat_phrase)             # Ligne 93
if $game_switches[Yuki::Sw::BT_Victory]                                                            # Ligne 94
  v = add_money(GameData::Trainer.get(@trainer_class).base_money * @enemy_party.actors.last.level)  # Ligne 95
  display_message(parse_text(18, 60, TRNAME[0] => $trainer.name, NUMXR => v.to_s))                  # Ligne 96
end                                                                                                # Ligne 97
Mais je n'ai pas non plus trouvé...
Humain mais Gobou.

Question Demande d'aide PSDK

Nuri Yuri

HostMaster

Alors, t'as regardé légèrement trop loin, les lignes responsable de l'assombrissement sont celles-ci:
    tone = @viewport.tone
    20.times do |i|
      color = -i*4
      tone.set(color, color, color, i)
      tmp_sprite.opacity = 255*i/20
      tmp_sprite.x = 160 + width*(20-i-1)/20
      Graphics.update
    end
ln(yo) = <3
Oui, c'est ce que je me disais au début, donc j'ai mis le bloc en commentaire, mais j'ai l'impression que mon script est ignoré...
Il y a ça dedans :
#encoding: utf-8

#noyard
# Description: Définition de la phase de fin du combat
class Scene_Battle
  def phase5_trainer_end
    tmp_sprite = ::Sprite.new(nil)
    if $game_variables[Yuki::Var::TrainerTransitionType] == 0
      tmp_sprite.bitmap = ::RPG::Cache.battler($game_temp.enemy_battler[0] + "_sma")
    else
      tmp_sprite.bitmap = ::RPG::Cache.battler($game_temp.enemy_battler[0])
    end
    width = tmp_sprite.bitmap.width
    tmp_sprite.x = 160 + width
    tmp_sprite.z = 1000
    tmp_sprite.ox = tmp_sprite.bitmap.width/2
    tmp_sprite.opacity = 0
    Graphics.sort_z
    #tone = @viewport.tone
    #20.times do |i|
    #  color = -i*4
    #  tone.set(color, color, color, i)
    #  tmp_sprite.opacity = 255*i/20
    #  tmp_sprite.x = 160 + width*(20-i-1)/20
    #  Graphics.update
    #end
    display_message($game_switches[Yuki::Sw::BT_Defeat] ? @victory_phrase : @defeat_phrase)
    if $game_switches[Yuki::Sw::BT_Victory]
      v = add_money(GameData::Trainer.get(@trainer_class).base_money * @enemy_party.actors.last.level)
      display_message(parse_text(18, 60, TRNAME[0] => $trainer.name, NUMXR => v.to_s))
    end
    @to_dispose << tmp_sprite
  end
end
Et son nom est : 00010 Victory Screen.rb
J'ai tenté de mettre un puts, il n'y a rien que s'affiche dans la console...
Humain mais Gobou.

Nuri Yuri

HostMaster

Vérifies que tu n'as pas de conflits et que le script est correctement nommé.
ln(yo) = <3
Ah ok, si y avait un conflit. Merci !
Humain mais Gobou.

There was an error while thanking
Thanking...