PNJ Name
Ven 14 Sep 2012 - 10:25
PNJ Name
Auteur : Tonyryu
Version du script : 1.01
Principe du script : Il permet l'affichage d'un nom au dessus des événements placés sur la map
Instructions : Ajouter \N[] avec le nom à afficher, dans le nom de l'event, exemple :
EV003\N[Esbrouf]
Des commandes script peuvent être utilisées pour voir ou non le nom du personnage :
- pnj_name_show
- pnj_name_hide
Ces 2 fonctions attendent un paramètres optionnels indiquant l'ID de l'event impacté. Si le paramètre n'est pas renseigné, c'est l'event appelant qui est modifié.
Exemple pour rendre invisible le nom de l'event en cours:
@>Script: pnj_name_hide()
Exemple pour rendre visible le nom de l'event avec l'ID 006:
@>Script: pnj_name_show(6)
Des constantes modifiables sont présentes dans le script afin de modifier la taille de la font, la présence de la sous-couche de la font, ainsi que la correction de position :
PNJ_FONT_SIZE = 20
PNJ_FONT_OUTLINE = true
PNJ_DECALAGE_H = 25
PNJ_DECALAGE_V = 5
Screens :
Script :
- Code:
#==============================================================================
# ■ Systeme de gestion d'affichage de nom au dessus d'un event
#------------------------------------------------------------------------------
# Ce script a pour but de permettre l'affichage de nom au dessus d'un event
#
# Version Date Auteur Commentaires
# 1.00 14/09/2012 Tonyryu Première release
# 1.01 16/05/2013 Tonyryu Ajout d'une gestion de visibilité du nom
#
# Attention : Ce script est ma propriété en tant que création et il est donc
# soumis au droit de la propriété intellectuelle.
# En aucun cas, il ne doit être copié ou publié vers un autre forum sans en
# avoir reçu mon accord au préalable.
#
#==============================================================================
# Constantes modifiables
PNJ_FONT_SIZE = 20
PNJ_FONT_OUTLINE = true
PNJ_DECALAGE_H = 25
PNJ_DECALAGE_V = 5
#==============================================================================
# ■ Sprite_Character
#------------------------------------------------------------------------------
# Permet d'afficher le character sur la map
#==============================================================================
class Sprite_Character < Sprite_Base
#--------------------------------------------------------------------------
# ● Constructeur
# character : Game_Character
#--------------------------------------------------------------------------
alias pnjn_initialize initialize
def initialize(viewport, character = nil)
pnjn_initialize(viewport, character)
create_pnj_name
update_pnj_name
end
#--------------------------------------------------------------------------
# ● create_pnj_name
#--------------------------------------------------------------------------
def create_pnj_name
if @character.pnjName != ""
@sprite_pnj_name = ::Sprite.new(viewport)
bmp = Bitmap.new(10,10)
bmp.font.size = PNJ_FONT_SIZE
bmp.font.outline = PNJ_FONT_OUTLINE
rectText = bmp.text_size(@character.pnjName)
bmp = Bitmap.new(rectText.width + 10, rectText.height + 6)
bmp.font.size = PNJ_FONT_SIZE
bmp.font.outline = PNJ_FONT_OUTLINE
bmp.draw_text(rectText, @character.pnjName,1)
@sprite_pnj_name.bitmap = bmp
end
end
#--------------------------------------------------------------------------
# ● mise a jour
#--------------------------------------------------------------------------
alias pnjn_update update
def update
pnjn_update
update_pnj_name
end
#--------------------------------------------------------------------------
# ● update_pnj_name
#--------------------------------------------------------------------------
def update_pnj_name
if @sprite_pnj_name
@sprite_pnj_name.visible = @character.pnjNameVisible
@sprite_pnj_name.x = x - (@sprite_pnj_name.width / 2) + PNJ_DECALAGE_V
@sprite_pnj_name.y = y - height - PNJ_DECALAGE_H
@sprite_pnj_name.z = z + 199
end
end
end
#==============================================================================
# ■ Game_CharacterBase
#------------------------------------------------------------------------------
# Ajout et gestion de la propriété @animation_speed
#
# Version Date Auteur Commentaires
# 1.00 26/08/2012 Tonyryu Création
# 1.01 16/05/2013 Tonyryu Ajout d'une variable sauvegardant l'affichage du nom
#
#==============================================================================
class Game_CharacterBase
attr_reader :pnjName
attr_reader :pnjNameVisible
#--------------------------------------------------------------------------
# ● init_public_members (surcharge)
#--------------------------------------------------------------------------
alias pnjn_init_public_members init_public_members
def init_public_members
pnjn_init_public_members
@pnjName = ""
@pnjNameVisible = true
end
end
#==============================================================================
# ■ Game_Event
#------------------------------------------------------------------------------
# Modification paramétrage d'une page d'event
#
# Version Date Auteur Commentaires
# 1.00 14/09/2012 Tonyryu Création
# 1.01 16/05/2013 Tonyryu Ajout de 2 fonctions de gestion de l'affichage du nom
#
#==============================================================================
class Game_Event
#--------------------------------------------------------------------------
# ● setup_page_settings (surcharge)
#--------------------------------------------------------------------------
alias pnjn_setup_page_settings setup_page_settings
def setup_page_settings
pnjn_setup_page_settings
@event.name.gsub!(/\\/) { "\e" }
@event.name.gsub!(/\eN\[(.*)\]/i) { @pnjName = $1 }
end
#--------------------------------------------------------------------------
# ● setup_page_settings (surcharge)
#--------------------------------------------------------------------------
def pnj_name_show()
@pnjNameVisible = true
end
def pnj_name_hide()
@pnjNameVisible = false
end
end
#==============================================================================
# ■ Game_Interpreter
#------------------------------------------------------------------------------
# Modification de la gestion d'interpreteur
#
# Version Date Auteur Commentaires
# 1.00 16/05/2013 Tonyryu Création
#
#==============================================================================
class Game_Interpreter
def pnj_name_show(pIdEvent = @event_id)
$game_map.events[pIdEvent].pnj_name_show()
end
def pnj_name_hide(pIdEvent = @event_id)
$game_map.events[pIdEvent].pnj_name_hide()
end
end
+5 pts de participations
- BalbereithStaffeux retraité
- Nombre de messages : 4129
Age : 32
Localisation : dans l'ombre...
Distinction : Péripatéticienne à temps perdu
Helly n°666 [Coco' ;D]
mon ptit balbounet p'tit jardinier en herbe(les râteaux ça le connait) [tonton Adurna]
Cultivateur professionnel de la commu' (il a de bons outils en de nombreux exemplaires ) [Coco' ]
Date d'inscription : 13/05/2009
Re: PNJ Name
Ven 14 Sep 2012 - 21:43
Merci pour ce script, +5 pts de participations
EDIT : Après rereguardage du script XD, est-ce que ce script est compatible avec celui de modification de vitesse que tu as fait, vu que tu utilise pour les deux la boîte de nom d'un évent. (C'est une question par simple curiosité)
EDIT : Après rereguardage du script XD, est-ce que ce script est compatible avec celui de modification de vitesse que tu as fait, vu que tu utilise pour les deux la boîte de nom d'un évent. (C'est une question par simple curiosité)
Re: PNJ Name
Ven 14 Sep 2012 - 22:27
oui, les deux scripts sont compatibles, car la surcharge de la méthode setup_page_settings par alias permet d'appeler cette méthode pour chaque script l'un après l'autre.
- LightNoxMembre
- Nombre de messages : 1759
Age : 34
Localisation : Chez Moi ^^
Date d'inscription : 10/04/2008
Re: PNJ Name
Sam 15 Sep 2012 - 0:33
merci pour se script tonyryu ^^
encore une fois tu sort un bon script bien utile
encore une fois tu sort un bon script bien utile
- EbrayanaMembre
- Nombre de messages : 21
Age : 25
Localisation : Quelque part dans ce monde
Distinction : aucune
Date d'inscription : 15/06/2013
Re: PNJ Name
Jeu 20 Juin 2013 - 19:20
Merci à l'atelier RGSS
- Elisa'Staffeux retraité
- Nombre de messages : 2924
Age : 26
Localisation : Par là-bas !
Distinction : Mon héritière que je chéris
[Coco' ]
Plus que 2 ans avant d'épouser Coco' ! Compte à rebours lancé !
[Auto-distinction]
Adepte du "Je le savais" alors qu'elle le savait pas.
Date d'inscription : 30/05/2009
Re: PNJ Name
Jeu 20 Juin 2013 - 20:13
Merci de faire attention aux nécroposts Ebrayana, c'est interdit ici.
- FanrpgMembre
- Nombre de messages : 16
Distinction : aucune
Date d'inscription : 19/06/2014
Re: PNJ Name
Sam 21 Juin 2014 - 2:53
Vraiment un bon script, c'est le premier que je trouve sur le site qui est assez facile à faire fonctionner sans problème, merci
beaucoup il est très utile !
beaucoup il est très utile !
- SpriderMembre
- Nombre de messages : 31
Distinction : aucune
Date d'inscription : 02/04/2015
Re: PNJ Name
Ven 3 Avr 2015 - 10:45
J'ai repérer deux bugs :
1/ Lorsque un PNJ avec le nom d'afficher disparaît (avec l'option effacer l’événement) son nom reste au sol.
2/ Si l'on affiche un message juste avant de démarrer un combat le message restera durant le processus du combat.
EDIT : Il suffit juste de flasher l'écran avant le combat pour faire disparaître le bug x)
Après c'est peut être à cause de mon menu ^^
1/ Lorsque un PNJ avec le nom d'afficher disparaît (avec l'option effacer l’événement) son nom reste au sol.
2/ Si l'on affiche un message juste avant de démarrer un combat le message restera durant le processus du combat.
EDIT : Il suffit juste de flasher l'écran avant le combat pour faire disparaître le bug x)
Après c'est peut être à cause de mon menu ^^
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum