~ S'évader de la banalité... Et entrer dans l'imaginaire ! ~
 
AccueilGuelnika, le site de E-m !S'enregistrerConnexion

Répondre au sujet
Partagez | 
 

 [VXAce] Sleek item pop up

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Choco-sama
Fan traître de harusame lvl 69
avatar

Nombre de messages : 13750
Age : 30

MessageSujet: [VXAce] Sleek item pop up   Sam 03 Aoû 2013, 13:25

Sleek item pop up

Crédit: V.M.

Ce script vous permet d'afficher les objets trouvé/obtenus:


Script:
Code:
#Sleek Item Popup v1.10
#----------#
#Features: A nice and sleek little pop up you can use to tell the player
#           they received (or lost) an item! Now with automatic popups whenever
#           you use the gain item commands in events!
#
#Usage:   Event Script Call:
#           popup(type,item,amount,[duration],[xoff],[yoff])
#
#          Where: type is category of item (0 = item, 1 = weapon,
#                                            2 = armor, 3 = gold)
#                 item is the id number of the item
#                 amount is the amount lost or gained
#                 duration is the time the window is up and is optional
#          
#          Examples:
#            popup(0,1,5)
#            popup(2,12,1,120)
#            $PU_AUTOMATIC_POPUP = false
#            $PU_AUTOMATIC_POPUP = true
#        
#Customization: Everything down there under customization
#
#----------#
#-- Script by: V.M of D.T
#
#- Questions or comments can be:
#    posted on the thread for the script
#    given by email: sumptuaryspade@live.ca
#    provided on facebook: http://www.facebook.com/DaimoniousTailsGames
#    posed on site: daimonioustails.wordpress.com
#
#--- Free to use in any non-commercial project with credit given
#-- License required for commercial project use
 
#Sound effect played on popup: # "Filename", Volume(0-100), Pitch(50-150)
PU_SOUND_EFFECT = ["Item3",100,50]
 
#Animation to be played on the player during popup
PU_USE_ANIMATION = false
PU_POPUP_ANIMATION = 2
 
#Duration in frames of Item Popup fadein and fadeout
PU_FADEIN_TIME = 30
PU_FADEOUT_TIME = 30
 
#Default duration of the popup
PU_DEFAULT_DURATION = 90
 
#Use automatic popup? Can be enabled/disabled in game, see examples
$PU_AUTOMATIC_POPUP = true
 
#Whether to use a custom or default font
PU_USE_CUSTOM_FONT = false
 
#Settings for custom item popup font
PU_DEFAULT_FONT_NAME = ["Verdana"]
PU_DEFAULT_FONT_SIZE = 16
PU_DEFAULT_FONT_COLOR = Color.new(255,255,255,255)
PU_DEFAULT_FONT_BOLD = false
PU_DEFAULT_FONT_ITALIC = false
PU_DEFAULT_FONT_SHADOW = false
PU_DEFAULT_FONT_OUTLINE = true
 
#Compact mode will hide the amount unless it's greater then 1
PU_COMPACT_MODE = true
 
#Background Icon to be displayed under item icon
PU_USE_BACKGROUND_ICON = true
PU_BACKGROUND_ICON = 102
 
#Gold details:
PU_GOLD_NAME = "Gold"
PU_GOLD_ICON = 262
 
#True for single line, false for multi line
PU_SINGLE_LINE = true
 
class Item_Popup < Window_Base
  def initialize(item, amount, duration, nosound,xoff,yoff)
    super(0,0,100,96)
    Audio.se_play('Audio/SE/' + PU_SOUND_EFFECT[0],PU_SOUND_EFFECT[1],PU_SOUND_EFFECT[2]) unless PU_SOUND_EFFECT.nil? or nosound
    self.opacity = 0
    self.x = $game_player.screen_x - 16
    self.y = $game_player.screen_y - 80
    @xoff = 0
    @yoff = 0
    @duration = 90
    @item = item
    @amount = amount
    @name = item.name.clone
    @text = ""
    @timer = 0
    @split = (PU_FADEIN_TIME) / @name.size
    @split = 2 if @split < 2
    amount > 0 ? @red = false : @red = true
    if PU_USE_CUSTOM_FONT
      contents.font.size = PU_DEFAULT_FONT_SIZE
    else
      contents.font.size = 16
    end
    @textsize = text_size(@name)
    textsize2 = text_size("+" + amount.to_s)
    self.width = @textsize.width + 54
    self.width += textsize2.width + 48 if PU_SINGLE_LINE
    self.height = @textsize.height + 54
    self.height -= 24 if PU_SINGLE_LINE
    self.x -= self.width / 4
    create_contents
    if PU_USE_CUSTOM_FONT
      contents.font.name = PU_DEFAULT_FONT_NAME
      contents.font.size = PU_DEFAULT_FONT_SIZE
      contents.font.color = PU_DEFAULT_FONT_COLOR
      contents.font.bold = PU_DEFAULT_FONT_BOLD
      contents.font.italic = PU_DEFAULT_FONT_ITALIC
      contents.font.shadow = PU_DEFAULT_FONT_SHADOW
      contents.font.outline = PU_DEFAULT_FONT_OUTLINE
    end
    self.contents_opacity = 0
    $game_player.animation_id = PU_POPUP_ANIMATION if PU_USE_ANIMATION
    update
  end
  def update
    #super
    return if self.disposed?
    self.visible = true if !self.visible
    self.x = $game_player.screen_x - 16 + @xoff
    self.y = $game_player.screen_y - 80 + @yoff
    self.x -= self.width / 4
    open if @timer < (PU_FADEIN_TIME)
    close if @timer > (PU_FADEOUT_TIME + @duration)
    @timer += 1
    @text += @name.slice!(0,1) if @timer % @split == 0
    contents.clear
    @red ? color = Color.new(255,0,0) : color = Color.new(0,255,0)
    contents.font.color = color
    stringamount = @amount
    stringamount = "+" + @amount.to_s if @amount > 0
    if PU_SINGLE_LINE
      width = text_size(@item.name).width#@textsize.width
      draw_text(27 + width,0,36,24,stringamount) unless PU_COMPACT_MODE and @amount == 1
      contents.font.color = Font.default_color
      draw_text(24,0,contents.width,contents.height,@text)
      draw_icon(PU_BACKGROUND_ICON,0,0) if PU_USE_BACKGROUND_ICON
      draw_icon(@item.icon_index,0,0)
    else
      draw_text(contents.width / 4 + 16,24,36,24,stringamount) unless PU_COMPACT_MODE and @amount == 1
      contents.font.color = Font.default_color
      draw_icon(PU_BACKGROUND_ICON,contents.width / 4 - 12,24) if PU_USE_BACKGROUND_ICON
      draw_icon(@item.icon_index,contents.width / 4 - 12,24)
      draw_text(0,0,contents.width,contents.height,@text)
    end
  end
  def close
    self.contents_opacity -= (255 / (PU_FADEOUT_TIME))
  end
  def open
    self.contents_opacity += (255 / (PU_FADEIN_TIME))
  end
end
 
class Game_Interpreter
  alias pu_command_126 command_126
  alias pu_command_127 command_127
  alias pu_command_128 command_128
  alias pu_command_125 command_125
  def popup(type,item,amount,duration = PU_DEFAULT_DURATION,nosound = false, xo = 0, yo = 0)
    data = $data_items[item] if type == 0
    data = $data_weapons[item] if type == 1
    data = $data_armors[item] if type == 2
    if type == 3
      data = RPG::Item.new
      data.name = PU_GOLD_NAME
      data.icon_index = PU_GOLD_ICON
    end
    Popup_Manager.add(data,amount,duration,nosound,xo,yo)
  end
  def command_126
    pu_command_126
    value = operate_value(@params[1], @params[2], @params[3])
    popup(0,@params[0],value) if $PU_AUTOMATIC_POPUP
  end
  def command_127
    pu_command_127
    value = operate_value(@params[1], @params[2], @params[3])
    popup(1,@params[0],value) if $PU_AUTOMATIC_POPUP
  end
  def command_128
    pu_command_128
    value = operate_value(@params[1], @params[2], @params[3])
    popup(2,@params[0],value) if $PU_AUTOMATIC_POPUP
  end
  def command_125
    pu_command_125
    value = operate_value(@params[0], @params[1], @params[2])
    popup(3,@params[0],value) if $PU_AUTOMATIC_POPUP
  end
end
 
module Popup_Manager
  def self.init
    @queue = []
  end
  def self.add(item,value,dura,ns,xo,yo)
    @queue.insert(0,[item,value,dura,ns,xo,yo])
  end
  def self.queue
    @queue
  end
end  
 
Popup_Manager.init
 
class Scene_Map
  alias popup_update update
  alias popup_preterminate pre_terminate
  def update
    popup_update
    update_popup_window unless $popupwindow.nil?
    return if Popup_Manager.queue.empty?
    if $popupwindow.nil? or $popupwindow.contents_opacity == 0
      var = Popup_Manager.queue.pop
      $popupwindow = Item_Popup.new(var[0],var[1],var[2],var[3],var[4],var[5])
    end
  end
  def update_popup_window
    $popupwindow.update
    if !$popupwindow.disposed? and $popupwindow.contents_opacity == 0
      $popupwindow.dispose
      $popupwindow = nil
    end
  end
  def pre_terminate
    popup_preterminate
    $popupwindow.visible = false unless $popupwindow.nil?
  end
end

____________
@Zim a écrit:
voire les super-hardcore-poke-nerds genre Choco



"Quand j'ai faim, hop, un voisin!"

Derniers Pokemons Chromatiques/ Shiney capturés: Ningale/ Axoloto/ Herbizarre/ Maracachi/ Golemastoc
Revenir en haut Aller en bas
AlexRE
Admin trop trizo Lv 65
Admin trop trizo Lv 65
avatar

Nombre de messages : 29677
Age : 30

MessageSujet: Re: [VXAce] Sleek item pop up   Sam 03 Aoû 2013, 13:34

Pas mal, ça !

____________
@Relm a écrit:
Merci pour la confirmation Gary et fuck my life.
Revenir en haut Aller en bas
http://www.alexzone.net
Daragonis
Maker de Légende Lv 52
Maker de Légende Lv 52
avatar

Nombre de messages : 4570
Age : 20

MessageSujet: Re: [VXAce] Sleek item pop up   Sam 03 Aoû 2013, 14:26

Sleek Item Pop-Up?^^ Pourquoi t'as traduit genre "Afficher les objets obtenues en fin de combat", ça serait plus parlant non? ^^

En tout cas sympa, y'a aussi des scripts pour faire un rapport complet en fin de bataille, avec les gains d'exp, les objets, l'or, quelques infos qu'on peut ajouter (j'avais vu ce dernier sur un site jap, mais je ne saurais plus de donner le lien -_- ) ... Mais ici c'est plus direct au moins^^

Merci!
Revenir en haut Aller en bas
Floya
Show-yan fan Lv 51
Show-yan fan Lv 51
avatar

Nombre de messages : 6541
Age : 20

MessageSujet: Re: [VXAce] Sleek item pop up   Sam 03 Aoû 2013, 14:28

Bah ici c'est utile surtout pour les coffres ou les pnj qui te donnent un item, plutôt qu'en fin de combat. ^^'

____________
◅ Cliquez !
Revenir en haut Aller en bas
Daragonis
Maker de Légende Lv 52
Maker de Légende Lv 52
avatar

Nombre de messages : 4570
Age : 20

MessageSujet: Re: [VXAce] Sleek item pop up   Sam 03 Aoû 2013, 15:28

Arff... J'ai lu trop vite moi^^ Mhh... C'est la faute au titre fufu

Du coup c'est bizarre... Tu peux déjà le faire en event (rien que l'event rapide coffre met automatiquement l'item obtenu dans une barre de texte), bon certes comme ça tu n'as pas à le faire de toi-même^^
Revenir en haut Aller en bas
Floya
Show-yan fan Lv 51
Show-yan fan Lv 51
avatar

Nombre de messages : 6541
Age : 20

MessageSujet: Re: [VXAce] Sleek item pop up   Sam 03 Aoû 2013, 15:59

Oui, c'est plus rapide disons, et ça aide les moins débrouillards.

____________
◅ Cliquez !
Revenir en haut Aller en bas
Choco-sama
Fan traître de harusame lvl 69
avatar

Nombre de messages : 13750
Age : 30

MessageSujet: Re: [VXAce] Sleek item pop up   Sam 03 Aoû 2013, 21:35

Dara: Les script sont ausis fait pour des choses ainsi pouvant te bouffer du temps soit fait automatiquement, mais oui, c'est faisable en event Wink

Et c'est pas moi qui ai traduit ^^ (et pour les script, on traduit jamais les nom de script)

____________
@Zim a écrit:
voire les super-hardcore-poke-nerds genre Choco



"Quand j'ai faim, hop, un voisin!"

Derniers Pokemons Chromatiques/ Shiney capturés: Ningale/ Axoloto/ Herbizarre/ Maracachi/ Golemastoc
Revenir en haut Aller en bas
Contenu sponsorisé




MessageSujet: Re: [VXAce] Sleek item pop up   

Revenir en haut Aller en bas
 
[VXAce] Sleek item pop up
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous pouvez répondre aux sujets dans ce forum
E-magination :: ~ Forums d'enrichissement ~ :: Apprentissage et partage :: RPG Maker VX & VX Ace :: Tutoriels / Scripts-
Répondre au sujetSauter vers: