-39%
Le deal à ne pas rater :
Ordinateur portable ASUS Chromebook Vibe CX34 Flip
399 € 649 €
Voir le deal

Aller en bas
Kaimaji
Kaimaji
Membre

Nombre de messages : 19
Distinction : aucune
Date d'inscription : 23/01/2012

[Résolu] Problème affichage pop up gain. Empty [Résolu] Problème affichage pop up gain.

Sam 16 Juin 2012 - 19:43
Bonsoir à tous et à toutes.

J'ai remarqué que l'un des scripts installé sur mon projet comporte un bug d'affichage.
C'est un script qui permet d'afficher un pop up avec une icône lorsque le personnage reçoit un objet / armure etc...

Quand c'est pour ajouter un gain il n'y a pas de problèmes mais j'ai remarqué que lorsque que c'est pour retirer un gain, j'ai ceci :

[Résolu] Problème affichage pop up gain. Bug_po10

Le "+ -1" est je trouve, pas super ergonomique.

Voici le script :

Code:
#        Popup pour gain argent, objet, arme et armure !!



# Permet d'afficher une fenêtre de taille différente selon la taille du nom

# des que vous utilisez la commande d'évent " Ajouter " argent, objet, arme, armure.

# Pour éviter les problèmes d'apparition non voulu, le nom de l'évent doit

# contenir ces trois caractères [C] pour que le script se joue.

# Ne fonctionne que pour indiquer un gain !!



class Game_Interpreter

  #--------------------------------------------------------------------------

  # *Changer l'argent

  #--------------------------------------------------------------------------

  def command_125

    value = operate_value(@params[0], @params[1], @params[2])

    $game_party.gain_gold(value)

    if $game_map.events[@event_id].name.include?("[C]")

      $argent = value

      $taille = $argent.to_s.length

      $taille *= 15

      $taille += 24 + 60

      $scene = Popup_Argent.new

    end

    return true

  end

  #--------------------------------------------------------------------------

  # * Changer les objets

  #--------------------------------------------------------------------------

  def command_126

    value = operate_value(@params[1], @params[2], @params[3])

    $game_party.gain_item($data_items[@params[0]], value)

    if $game_map.events[@event_id].name.include?("[C]")

      $item = @params[0]

      $nombre = value

      $taille = $data_items[$item].name.to_s.length

      $taille *= 11

      $taille += 24 + 60

      $scene = Popup_Objet.new

    end

    $game_map.need_refresh = true

    return true

  end

  #--------------------------------------------------------------------------

  # * Changer les Armes

  #--------------------------------------------------------------------------

  def command_127

    value = operate_value(@params[1], @params[2], @params[3])

    $game_party.gain_item($data_weapons[@params[0]], value, @params[4])

    if $game_map.events[@event_id].name.include?("[C]")

      $arme = @params[0]

      $nombre = value

      $taille = $data_weapons[$arme].name.to_s.length

      $taille *= 12

      $taille += 24 + 60

      $scene = Popup_Arme.new

    end

    return true

  end

  #--------------------------------------------------------------------------

  # * Changer armures

  #--------------------------------------------------------------------------

  def command_128

    value = operate_value(@params[1], @params[2], @params[3])

    $game_party.gain_item($data_armors[@params[0]], value, @params[4])

    if $game_map.events[@event_id].name.include?("[C]")

      $armure = @params[0]

      $nombre = value

      $taille = $data_armors[$armure].name.to_s.length

      $taille *= 12

      $taille += 24 + 50

      $scene = Popup_Armure.new

    end

    return true

  end

 

end # class

  #--------------------------------------------------------------------------



class Window_Objet < Window_Base

 

  def initialize(item, nombre, taille)

    super(180, 150, taille, 60)

    @item = item

    @nombre = nombre

    @taille = taille

    refresh

  end



  def refresh

    self.contents.clear

    objet = $data_items[@item]

    draw_icon(objet.icon_index, 0, 0)

    self.contents.font.color = normal_color

    self.contents.font.color.alpha = 255

    self.contents.draw_text(24, 0, @taille, 32, objet.name + " + " + @nombre.to_s)

  end

 

end



# -------------------------------------------



class Popup_Objet

 

  def main

    @spriteset = Spriteset_Map.new

    @window_objet = Window_Objet.new($item, $nombre, $taille)

    Graphics.transition

    loop do

      Graphics.update

      Input.update

      update

      if $scene != self

        break

      end

    end

    Graphics.freeze

    @window_objet.dispose

    @spriteset.dispose

  end



  def update

    @window_objet.update

    @spriteset.update

    if Input.trigger?(Input::C)

      Sound.play_decision

      $scene = Scene_Map.new

      return

    end

  end



end



# --------------------------------------------------



class Window_Argent < Window_Base

 

  def initialize(argent, taille)

    super(200, 150, taille, 60)

    @argent = argent

    @taille = taille

    refresh

  end



  def refresh

    self.contents.clear

    bitmap = Cache.system("Iconset")

    rect = Rect.new(3 * 24, 9 * 24, 24, 24)

    self.contents.blt(0, 0, bitmap, rect, 255)

    self.contents.draw_text(24, 0, @taille, 32, " + " + @argent.to_s + " " + Vocab::gold)

  end

 

end



# -------------------------------------------



class Popup_Argent

 

  def main

    @spriteset = Spriteset_Map.new

    @window_argent = Window_Argent.new($argent, $taille)

    Graphics.transition

    loop do

      Graphics.update

      Input.update

      update

      if $scene != self

        break

      end

    end

    Graphics.freeze

    @window_argent.dispose

    @spriteset.dispose

  end



  def update

    @window_argent.update

    @spriteset.update

    if Input.trigger?(Input::C)

      Sound.play_decision

      $scene = Scene_Map.new

      return

    end

  end



end



# --------------------------------------------------



class Window_Arme < Window_Base

 

  def initialize(arme, nombre, taille)

    super(180, 150, taille, 60)

    @arme = arme

    @nombre = nombre

    @taille = taille

    refresh

  end



  def refresh

    self.contents.clear

    objet = $data_weapons[@arme]

    draw_icon(objet.icon_index, 0, 0)

    self.contents.font.color = normal_color

    self.contents.font.color.alpha = 255

    self.contents.draw_text(24, 0, @taille, 32, objet.name + " + " + @nombre.to_s)

  end

 

end



# -------------------------------------------



class Popup_Arme

 

  def main

    @spriteset = Spriteset_Map.new

    @window_arme = Window_Arme.new($arme, $nombre, $taille)

    Graphics.transition

    loop do

      Graphics.update

      Input.update

      update

      if $scene != self

        break

      end

    end

    Graphics.freeze

    @window_arme.dispose

    @spriteset.dispose

  end



  def update

    @window_arme.update

    @spriteset.update

    if Input.trigger?(Input::C)

      Sound.play_decision

      $scene = Scene_Map.new

      return

    end

  end



end



# --------------------------------------------------



class Window_Armure < Window_Base

 

  def initialize(armure, nombre, taille)

    super(150, 150, taille, 60)

    @armure = armure

    @nombre = nombre

    @taille = taille

    refresh

  end



  def refresh

    self.contents.clear

    objet = $data_armors[@armure]

    draw_icon(objet.icon_index, 0, 0)

    self.contents.font.color = normal_color

    self.contents.font.color.alpha = 255

    self.contents.draw_text(24, 0, @taille, 32, objet.name + " + " + @nombre.to_s)

  end

 

end



# -------------------------------------------



class Popup_Armure

 

  def main

    @spriteset = Spriteset_Map.new

    @window_armure = Window_Armure.new($armure, $nombre, $taille)

    Graphics.transition

    loop do

      Graphics.update

      Input.update

      update

      if $scene != self

        break

      end

    end

    Graphics.freeze

    @window_armure.dispose

    @spriteset.dispose

  end



  def update

    @window_armure.update

    @spriteset.update

    if Input.trigger?(Input::C)

      Sound.play_decision

      $scene = Scene_Map.new

      return

    end

  end



end



# --------------------------------------------------

class Game_Event < Game_Character

 

  attr_reader  :name

  attr_reader  :trigger                  # Gachette

  attr_reader  :list                    # Liste des évènements des commandes

  attr_reader  :starting                # Commencement



  def initialize(map_id, event)

    super()

    @name = event.name

    @map_id = map_id

    @event = event

    @id = @event.id

    @erased = false

    @starting = false

    @through = true

    moveto(@event.x, @event.y)            # Déplacer au mouvement initial.

    refresh

  end

end

J'ai essayé de ne pas insérer le "[C]" sur l'event (pour ne pas utiliser le script cette fois) mais ça me colle ce message d'erreur :

[Résolu] Problème affichage pop up gain. Bug_po11

Quelqu'un aurait donc un moyen pour virer ce "+" ?
Merci merci.


Dernière édition par Kaimaji le Sam 16 Juin 2012 - 21:15, édité 1 fois
Spytje
Spytje
Administrateur

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

[Résolu] Problème affichage pop up gain. Empty Re: [Résolu] Problème affichage pop up gain.

Sam 16 Juin 2012 - 20:09
Bonjour,

Essaie ca :

Code:
#        Popup pour gain argent, objet, arme et armure !!



# Permet d'afficher une fenêtre de taille différente selon la taille du nom

# des que vous utilisez la commande d'évent " Ajouter " argent, objet, arme, armure.

# Pour éviter les problèmes d'apparition non voulu, le nom de l'évent doit

# contenir ces trois caractères [C] pour que le script se joue.

# Ne fonctionne que pour indiquer un gain !!



class Game_Interpreter

  #--------------------------------------------------------------------------

  # *Changer l'argent

  #--------------------------------------------------------------------------

  def command_125

    value = operate_value(@params[0], @params[1], @params[2])

    $game_party.gain_gold(value)

    if $game_map.events[@event_id].name.include?("[C]")

      $argent = value

      $taille = $argent.to_s.length

      $taille *= 15

      $taille += 24 + 60

      $scene = Popup_Argent.new

    end

    return true

  end

  #--------------------------------------------------------------------------

  # * Changer les objets

  #--------------------------------------------------------------------------

  def command_126

    value = operate_value(@params[1], @params[2], @params[3])

    $game_party.gain_item($data_items[@params[0]], value)

    if $game_map.events[@event_id].name.include?("[C]")

      $item = @params[0]

      $nombre = value

      $taille = $data_items[$item].name.to_s.length

      $taille *= 11

      $taille += 24 + 60

      $scene = Popup_Objet.new

    end

    $game_map.need_refresh = true

    return true

  end

  #--------------------------------------------------------------------------

  # * Changer les Armes

  #--------------------------------------------------------------------------

  def command_127

    value = operate_value(@params[1], @params[2], @params[3])

    $game_party.gain_item($data_weapons[@params[0]], value, @params[4])

    if $game_map.events[@event_id].name.include?("[C]")

      $arme = @params[0]

      $nombre = value

      $taille = $data_weapons[$arme].name.to_s.length

      $taille *= 12

      $taille += 24 + 60

      $scene = Popup_Arme.new

    end

    return true

  end

  #--------------------------------------------------------------------------

  # * Changer armures

  #--------------------------------------------------------------------------

  def command_128

    value = operate_value(@params[1], @params[2], @params[3])

    $game_party.gain_item($data_armors[@params[0]], value, @params[4])

    if $game_map.events[@event_id].name.include?("[C]")

      $armure = @params[0]

      $nombre = value

      $taille = $data_armors[$armure].name.to_s.length

      $taille *= 12

      $taille += 24 + 50

      $scene = Popup_Armure.new

    end

    return true

  end

 

end # class

  #--------------------------------------------------------------------------



class Window_Objet < Window_Base

 

  def initialize(item, nombre, taille)

    super(180, 150, taille, 60)

    @item = item

    @nombre = nombre

    @taille = taille

    refresh

  end



  def refresh

    self.contents.clear

    objet = $data_items[@item]

    draw_icon(objet.icon_index, 0, 0)

    self.contents.font.color = normal_color

    self.contents.font.color.alpha = 255

    self.contents.draw_text(24, 0, @taille, 32, objet.name + "  " + @nombre.to_s)

  end

 

end



# -------------------------------------------



class Popup_Objet

 

  def main

    @spriteset = Spriteset_Map.new

    @window_objet = Window_Objet.new($item, $nombre, $taille)

    Graphics.transition

    loop do

      Graphics.update

      Input.update

      update

      if $scene != self

        break

      end

    end

    Graphics.freeze

    @window_objet.dispose

    @spriteset.dispose

  end



  def update

    @window_objet.update

    @spriteset.update

    if Input.trigger?(Input::C)

      Sound.play_decision

      $scene = Scene_Map.new

      return

    end

  end



end



# --------------------------------------------------



class Window_Argent < Window_Base

 

  def initialize(argent, taille)

    super(200, 150, taille, 60)

    @argent = argent

    @taille = taille

    refresh

  end



  def refresh

    self.contents.clear

    bitmap = Cache.system("Iconset")

    rect = Rect.new(3 * 24, 9 * 24, 24, 24)

    self.contents.blt(0, 0, bitmap, rect, 255)

    self.contents.draw_text(24, 0, @taille, 32, "  " + @argent.to_s + " " + Vocab::gold)

  end

 

end



# -------------------------------------------



class Popup_Argent

 

  def main

    @spriteset = Spriteset_Map.new

    @window_argent = Window_Argent.new($argent, $taille)

    Graphics.transition

    loop do

      Graphics.update

      Input.update

      update

      if $scene != self

        break

      end

    end

    Graphics.freeze

    @window_argent.dispose

    @spriteset.dispose

  end



  def update

    @window_argent.update

    @spriteset.update

    if Input.trigger?(Input::C)

      Sound.play_decision

      $scene = Scene_Map.new

      return

    end

  end



end



# --------------------------------------------------



class Window_Arme < Window_Base

 

  def initialize(arme, nombre, taille)

    super(180, 150, taille, 60)

    @arme = arme

    @nombre = nombre

    @taille = taille

    refresh

  end



  def refresh

    self.contents.clear

    objet = $data_weapons[@arme]

    draw_icon(objet.icon_index, 0, 0)

    self.contents.font.color = normal_color

    self.contents.font.color.alpha = 255

    self.contents.draw_text(24, 0, @taille, 32, objet.name + "  " + @nombre.to_s)

  end

 

end



# -------------------------------------------



class Popup_Arme

 

  def main

    @spriteset = Spriteset_Map.new

    @window_arme = Window_Arme.new($arme, $nombre, $taille)

    Graphics.transition

    loop do

      Graphics.update

      Input.update

      update

      if $scene != self

        break

      end

    end

    Graphics.freeze

    @window_arme.dispose

    @spriteset.dispose

  end



  def update

    @window_arme.update

    @spriteset.update

    if Input.trigger?(Input::C)

      Sound.play_decision

      $scene = Scene_Map.new

      return

    end

  end



end



# --------------------------------------------------



class Window_Armure < Window_Base

 

  def initialize(armure, nombre, taille)

    super(150, 150, taille, 60)

    @armure = armure

    @nombre = nombre

    @taille = taille

    refresh

  end



  def refresh

    self.contents.clear

    objet = $data_armors[@armure]

    draw_icon(objet.icon_index, 0, 0)

    self.contents.font.color = normal_color

    self.contents.font.color.alpha = 255

    self.contents.draw_text(24, 0, @taille, 32, objet.name + "  " + @nombre.to_s)

  end

 

end



# -------------------------------------------



class Popup_Armure

 

  def main

    @spriteset = Spriteset_Map.new

    @window_armure = Window_Armure.new($armure, $nombre, $taille)

    Graphics.transition

    loop do

      Graphics.update

      Input.update

      update

      if $scene != self

        break

      end

    end

    Graphics.freeze

    @window_armure.dispose

    @spriteset.dispose

  end



  def update

    @window_armure.update

    @spriteset.update

    if Input.trigger?(Input::C)

      Sound.play_decision

      $scene = Scene_Map.new

      return

    end

  end



end



# --------------------------------------------------

class Game_Event < Game_Character

 

  attr_reader  :name

  attr_reader  :trigger                  # Gachette

  attr_reader  :list                    # Liste des évènements des commandes

  attr_reader  :starting                # Commencement



  def initialize(map_id, event)

    super()

    @name = event.name

    @map_id = map_id

    @event = event

    @id = @event.id

    @erased = false

    @starting = false

    @through = true

    moveto(@event.x, @event.y)            # Déplacer au mouvement initial.

    refresh

  end

end
Kaimaji
Kaimaji
Membre

Nombre de messages : 19
Distinction : aucune
Date d'inscription : 23/01/2012

[Résolu] Problème affichage pop up gain. Empty Re: [Résolu] Problème affichage pop up gain.

Sam 16 Juin 2012 - 21:14
Ça fonctionne, merci !
Contenu sponsorisé

[Résolu] Problème affichage pop up gain. Empty Re: [Résolu] Problème affichage pop up gain.

Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum