Ce script permet d’améliorer la lisibilité des textes dans RPG Maker XP en ajoutant soit :
- une ombre portée
- soit un contour noir
Il modifie directement le comportement de Bitmap.draw_text, donc il s’applique automatiquement à tous les textes du jeu (menus, dialogues, HUD, etc.).
🎯 À quoi sert ce script ?
Par défaut, RPG Maker XP affiche du texte “plat”, sans effet.
Résultat : sur certains fonds (clairs, détaillés, animés), le texte devient difficile à lire.
Ce script corrige ça en ajoutant :
- un contraste visuel immédiat
- une meilleure lisibilité
- un rendu plus propre et plus pro

#===============================
# ■ Bitmap.draw_text
#-------------------------------------
# Aliases and redefines draw_text so that a shadow is drawn
# Made by: Ultimate Jesus
#======================================
class Bitmap
ShadowIndent = 1 # Size of the shadow (usually 1..3)
ShadowColour = Color.new(0, 0, 0, 255)# the colour of the shadow
# the 4th value is transparency (0-255)
unless @ja_ta_feito == 1 # Fix for F12 Rebot by P@nCHo
alias draw_text_plain draw_text
@ja_ta_feito = 1
end
def draw_text(arg1 = 0, arg2 = 0, arg3 = 0, arg4 = 0, arg5 = 0, arg6 = 0)
if arg1.is_a?(Rect)
x = arg1.x
y = arg1.y
width = arg1.width
height = arg1.height
string = arg2
align = arg3
else
x = arg1
y = arg2
width = arg3
height = arg4
string = arg5
align = arg6
end
colour = self.font.color.dup
self.font.color = ShadowColour
draw_text_plain(x + ShadowIndent, y + ShadowIndent, width, height, string, align)
self.font.color = colour
draw_text_plain(x, y, width, height, string, align)
end
end#===============================
# ■ Bitmap.draw_text
#-------------------------------------
# Aliases and redefines draw_text so that a shadow is drawn
# Made by: Ultimate Jesus
# Edited by Catskart
#======================================
class Bitmap
ShadowIndent = 1 # Size of the shadow (usually 1..3)
ShadowColour = Color.new(0, 0, 0, 255)# the colour of the shadow
# the 4th value is transparency (0-255)
unless @ja_ta_feito == 1 # Fix for F12 Rebot by P@nCHo
alias draw_text_plain draw_text
@ja_ta_feito = 1
end
def draw_text(arg1 = 0, arg2 = 0, arg3 = 0, arg4 = 0, arg5 = 0, arg6 = 0)
if arg1.is_a?(Rect)
x = arg1.x
y = arg1.y
width = arg1.width
height = arg1.height
string = arg2
align = arg3
else
x = arg1
y = arg2
width = arg3
height = arg4
string = arg5
align = arg6
end
colour = self.font.color.dup
self.font.color = ShadowColour
draw_text_plain(x + ShadowIndent, y, width, height, string, align)
draw_text_plain(x - ShadowIndent, y, width, height, string, align)
draw_text_plain(x, y + ShadowIndent, width, height, string, align)
draw_text_plain(x, y - ShadowIndent, width, height, string, align)
self.font.color = colour
draw_text_plain(x, y, width, height, string, align)
end
end