Partagez
Aller en bas
Nérylis
Nérylis
Membre

Nombre de messages : 612
Age : 31
Localisation : Seine Maritime
Distinction : aucune
Date d'inscription : 23/11/2014

Résolu Bug - Disparition d'un boss

le Jeu 11 Juin 2015 - 21:57
Coucou,

Sur mon mini projet de Battle Test, j'utilise un script pour jouer des skills en vidéo. Celui-ci permet d'afficher le nom de l'attaque, puis jouer la vidéo, puis jouer l'animation, puis afficher les dégâts. Mais il provoque un petit bug : lorsqu'on tue un adversaire qui a l'effet de disparition de type boss, le message et le ME de victoire s'affichent avant que le boss n'ait complètement disparu. Normalement, cela doit s'afficher une fois le boss complètement disparu. Sauriez-vous remédier à ça, s\'il vous plaît ?

Je vous mets une démo : http://www.mediafire.com/download/9vy0f787ppmgrf9/Battle+test+-+Boss.exe
Il suffit d'ouvrir le coffre pour affronter un monstre de type boss (vous devez pouvoir le poutrer en 2 assauts).

Je vous mets également le script en question :

Code:
# -------------------------------------------------
# Script Name : Play Movie before skill
# Scripter : efeberk
# Date : 29.07.2013 07:28
# Version : RPG Maker VX Ace(RGSS3)
# Modified by Trihan on 08/05/2015
# ------------------------------------------------
#
# How to:
#
# Just add a little text to skill notetag
#
#
#
# x = movie name
#

module Play_Movie_Before_Skill

  DURATION = 3 # x is used to control how long the cast message will last

end

class RPG::Skill < RPG::UsableItem

def movie
if @note =~ /movie: (.*)/
return $1.to_s
end
end

end

class Scene_Battle < Scene_Base
  alias tri_mbs_use_item use_item
  def use_item
    item = @subject.current_action.item
    @log_window.display_use_item(@subject, item)
    @subject.use_item(item)
    refresh_status
    targets = @subject.current_action.make_targets.compact
    if item.is_a?(RPG::Skill) && item.movie
      Play_Movie_Before_Skill::DURATION.times { @log_window.wait }
      Graphics.play_movie('Movies/' + item.movie)
    end
    show_animation(targets, item.animation_id)
    targets.each {|target| item.repeats.times { invoke_item(target, item) } }
  end
end


Dernière édition par Nérylis le Mer 24 Juin 2015 - 18:18, édité 1 fois
Nérylis
Nérylis
Membre

Nombre de messages : 612
Age : 31
Localisation : Seine Maritime
Distinction : aucune
Date d'inscription : 23/11/2014

Résolu Re: Bug - Disparition d'un boss

le Lun 15 Juin 2015 - 17:51
Up
Spytje
Spytje
Administrateur

Nombre de messages : 5933
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008

Résolu Re: Bug - Disparition d'un boss

le Lun 15 Juin 2015 - 21:09
Tu as tenter de mettre un "attendre" avant la fin de combat ?

_________________
Bug - Disparition d'un boss 911

LE PROJET SUR FACEBOOK

N'hésitez pas à suivre la page  Bug - Disparition d'un boss 344805
Nérylis
Nérylis
Membre

Nombre de messages : 612
Age : 31
Localisation : Seine Maritime
Distinction : aucune
Date d'inscription : 23/11/2014

Résolu Re: Bug - Disparition d'un boss

le Lun 15 Juin 2015 - 21:49
Je n'ai pas la main au moment où le boss meurt, je ne peux pas mettre d'événements.

J'étais en train de penser, si on reprend le script de base de RPG Maker concernant l'effet de disparition boss et que je créé un onglet sous le script de vidéo avec ce bout de script, est-ce que ça peut solutionner mon problème ? Je ne sais pas où ça se trouve dans les scripts de base, je n'ai pas pu tester.
Spytje
Spytje
Administrateur

Nombre de messages : 5933
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008

Résolu Re: Bug - Disparition d'un boss

le Lun 15 Juin 2015 - 21:52
Envoie un Mp à Vincent26 il regardera dès qu'il a le temps pour résoudre ton soucis.

Le mieux est de ne pas toucher aux scripts si tu sais pas ce que tu fais car tu risques de foutre ton projet en l'air Smile

_________________
Bug - Disparition d'un boss 911

LE PROJET SUR FACEBOOK

N'hésitez pas à suivre la page  Bug - Disparition d'un boss 344805
Nérylis
Nérylis
Membre

Nombre de messages : 612
Age : 31
Localisation : Seine Maritime
Distinction : aucune
Date d'inscription : 23/11/2014

Résolu Re: Bug - Disparition d'un boss

le Mar 16 Juin 2015 - 6:38
Mais si on recopie le bout de script original et qu'on le met sous le script de vidéo, ça risque de planter ?
Nérylis
Nérylis
Membre

Nombre de messages : 612
Age : 31
Localisation : Seine Maritime
Distinction : aucune
Date d'inscription : 23/11/2014

Résolu Re: Bug - Disparition d'un boss

le Mar 23 Juin 2015 - 20:07
En allant dans Game_Enemy, j'ai repris le passage suivant et je l'ai copié/collé sous le script de vidéo mais ça n'a pas résolu le problème.

Code:
  #--------------------------------------------------------------------------
  # * Execute Collapse Effect
  #--------------------------------------------------------------------------
  def perform_collapse_effect
    case collapse_type
    when 0
      @sprite_effect_type = :collapse
      Sound.play_enemy_collapse
    when 1
      @sprite_effect_type = :boss_collapse
      Sound.play_boss_collapse1
    when 2
      @sprite_effect_type = :instant_collapse
    end
  end

Quelqu'un a une autre idée pour corriger mon problème ?
avatar
Az'
Membre

Nombre de messages : 3317
Age : 74
Date d'inscription : 22/12/2007

Résolu Re: Bug - Disparition d'un boss

le Mar 23 Juin 2015 - 21:40
Ca ne sert à rien de bricoler le Game_Enemy.

J'ai résolu ton conflit, remplace le script d'Efeberk par celui-là :

Code:
# -------------------------------------------------
# Script Name : Play Movie before skill
# Scripter : efeberk
# Date : 29.07.2013 07:28
# Version : RPG Maker VX Ace(RGSS3)
# Modified by Trihan on 08/05/2015
#-----------------------------------
# Modifié par Mist', le 23/06/15 :
# Compatibilité avec le script LNX11a
#------------------------------------------------
#
# How to:
#
# Just add a little text to skill notetag
#
#
#
# x = movie name
#

module Play_Movie_Before_Skill

  DURATION = 3 # x is used to control how long the cast message will last

end

class RPG::Skill < RPG::UsableItem

def movie
if @note =~ /movie: (.*)/
return $1.to_s
end
end

end

class Scene_Battle < Scene_Base

  def use_item
    #Intégration LNX11
    item = @subject.current_action.item
    if LNX11::BATTLELOG_TYPE == 2 && !item.no_display
      helpdisplay_set(item, item.display_wait)
    end
    #Code de base Scene_Battle
    @log_window.display_use_item(@subject, item)
    @subject.use_item(item)
    refresh_status
    targets = @subject.current_action.make_targets.compact
    #Intégration Play_Movie_Before_Skill
    if item.is_a?(RPG::Skill) && item.movie
      Play_Movie_Before_Skill::DURATION.times { @log_window.wait }
      Graphics.play_movie('Movies/' + item.movie)
    end
    #Code de base Scene_Battle
    show_animation(targets, item.animation_id)
    targets.each {|target| item.repeats.times { invoke_item(target, item) } }
    #Intégration LNX11
    if LNX11::BATTLELOG_TYPE == 2
      wait(item.end_wait)
      helpdisplay_clear
    end
    wait_for_effect
  end
end

C'était vraiment pas grand chose en fait, juste une incompatibilité avec ton script LNX11a qui faisait un alias sur la même méthode que le script d'Efeberk déclarait une seconde fois.

Ou alors, y'avait juste à changer le script d'Efeberk de place (càd au dessus de LNX11), mais j'avais envie de gratter un peu de code. Bug - Disparition d'un boss 844836
Nérylis
Nérylis
Membre

Nombre de messages : 612
Age : 31
Localisation : Seine Maritime
Distinction : aucune
Date d'inscription : 23/11/2014

Résolu Re: Bug - Disparition d'un boss

le Mar 23 Juin 2015 - 22:48
Ok, je regarde demain et j'éditerai mon message en conséquence. En tout cas, merci d'avance. Wink

Edit : J'ai testé les deux méthodes, ça marche. Je garde la version modifiée que tu as faite. Encore merci pour ton aide.
avatar
Az'
Membre

Nombre de messages : 3317
Age : 74
Date d'inscription : 22/12/2007

Résolu Re: Bug - Disparition d'un boss

le Mer 24 Juin 2015 - 21:48
Pas de problème!
Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum