- KaimajiMembre
- Nombre de messages : 19
Distinction : aucune
Date d'inscription : 23/01/2012
[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 :
Le "+ -1" est je trouve, pas super ergonomique.
Voici le script :
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 :
Quelqu'un aurait donc un moyen pour virer ce "+" ?
Merci merci.
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 :
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 :
Quelqu'un aurait donc un moyen pour virer ce "+" ?
Merci merci.
- SpytjeAdministrateur
- 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
Re: [Résolu] Problème affichage pop up gain.
Sam 16 Juin 2012 - 20:09
Bonjour,
Essaie ca :
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
- KaimajiMembre
- Nombre de messages : 19
Distinction : aucune
Date d'inscription : 23/01/2012
Re: [Résolu] Problème affichage pop up gain.
Sam 16 Juin 2012 - 21:14
Ça fonctionne, merci !
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|