New RPG Maker
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.


Forum traitant du logiciel RPG Maker tout en français ! Entraide, tutos, scripts, ressources, hébergement de vos projets RPG Maker 2000, 2003, XP et VX. Venez les présenter !
 
AccueilDernières imagesRechercherS'enregistrerConnexion
Le Deal du moment : -17%
(Black Friday) Apple watch Apple SE GPS + Cellular ...
Voir le deal
249 €

 

 [VX]Pop-up gain

Aller en bas 
AuteurMessage
Naqqah
Administrateur
Administrateur
Naqqah


Masculin Nombre de messages : 844
Age : 28
Localisation : Parti manger un ours
Date d'inscription : 22/02/2009

[VX]Pop-up gain Empty
MessageSujet: [VX]Pop-up gain   [VX]Pop-up gain EmptySam 13 Fév - 12:50

Auteur : Inconnu

Image : [VX]Pop-up gain Popup_gain

Fonction : Permet de mettre une petite fenêtre indiquant un gain d'argents, d'objets, armes ou armures.

Installation :
Ouvrez l'éditeur de script ( F11 ). Créez en un nouveau au dessus de "Main" et collez le code ci-dessous.

Utilisation :
Le nom de l'évènement doit contenir "[C]" (sans les guillemets) pour afficher la Pop Up

Code :


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

Merci à RPG Creative
Revenir en haut Aller en bas
 
[VX]Pop-up gain
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
New RPG Maker :: Making :: Ressources :: Grand livre des ressources :: Partage de scripts :: Systèmes-
Sauter vers: