Original Source
- Original title: VXAce Hammy - FF9 Popup Window
- Original author: buddysievers
- Original date: October 26, 2025
- Source thread: https://forums.rpgmakerweb.com/threads/hammy-ff9-popup-window.180709/
- Source forum path: Game Development Engines > Ruby Game System (RGSS) Scripts > RGSS3 Scripts (RMVX Ace)
Summary
Hammy - FF9 Popup Window v1.02 Authentic Final Fantasy IX popup notifications with text formatting and reward displays Introduction This script provides an authentic Final Fantasy IX popup window system for RPG Maker VX Ace. It displays temporary popup windows with text content that can be closed by user input, perfect for notifications and item rewards.
Archived First Post
Authentic Final Fantasy IX popup notifications with text formatting and reward displays
Introduction
This script provides an authentic Final Fantasy IX popup window system for RPG Maker VX Ace. It displays temporary popup windows with text content that can be closed by user input, perfect for notifications and item rewards.
The system supports escape codes for text formatting, per-line text alignment, custom positioning, configurable sound effect, integration with the Hammy FF9 Windowskin System for type-based window appearance, and specialized helper methods for common popup types like item and gold rewards.
AI Disclaimer: Generative AI was used to refine the documentation and presentation of this script, as I am not a native English speaker. Additionally, AI was used for naming conventions in some places and for general beautification of the script.
Features
Core Popup Features
- Key-controlled popup windows (C/B to close when fully open)
- Custom window positioning with optional x/y coordinate override
- Per-line text alignment (left, center, right) with mixed format support
- Window type override support via Hammy FF9 Windowskin System integration
Helper Methods
- Default popup display with custom text arrays
- Item reward popups with automatic inventory management
- Gold reward popups with automatic currency addition
Technical Features
- Player movement blocking during popup display
- Dynamic window sizing based on text content
- RGSS3-compliant escape code processing and rendering
- Compact spacing mode for empty lines (half-height rendering)
Screenshots
Configuration
Popup Window Display Settings
LINE_HEIGHT
Height of each text line in pixels for popup windows. Uses default font size by default, can be set to any integer value.
- Valid values: Any integer value
- Default: Font.default_size
Example
LINE_HEIGHT = 20
STANDARD_PADDING
Window padding size in pixels for popup windows. Controls the internal spacing between window borders and content.
- Valid values: Any integer value
- Default: 12
Example
STANDARD_PADDING = 12
MAX_WIDTH
Maximum allowed width for popup windows in pixels. Prevents windows from exceeding screen boundaries.
- Valid values: Any integer value
- Default: Graphics.width - 40
Example
MAX_WIDTH = Graphics.width - 40
DEFAULT_ALIGN
Default text alignment within popup windows. Applied when no specific alignment is provided in the popup call. 0 = Left align 1 = Center align 2 = Right align
- Valid values: 0, 1, or 2
- Default: 1
Example
DEFAULT_ALIGN = 1
OFFSET_X
X-coordinate offset for popup windows. Fine-tunes horizontal positioning.
- Valid values: Any integer value
- Default: 0
Example
OFFSET_X = 0
OFFSET_Y
Y-coordinate offset for popup windows. Fine-tunes vertical positioning.
- Valid values: Any integer value
- Default: -64
Example
OFFSET_Y = -64
DEFAULT_TYPE
Default windowskin type to use for popups. Used when no specific type is provided in the popup call.
- Valid values: :default, :frame, :topbar, :help
- Default: :frame
Example
DEFAULT_TYPE = :frame
FADE_IN_DURATION
Animation duration in frames for window fade-in. Controls how quickly the popup window becomes fully opaque.
- Valid values: Any integer value
- Default: 16
Example
FADE_IN_DURATION = 16
WAIT_DURATION
Duration in frames the popup remains fully visible before fading out. This is the base reading time before auto-close begins.
- Valid values: Any integer value
- Default: 180
Example
WAIT_DURATION = 180
FADE_OUT_DURATION
Animation duration in frames for window fade-out. Controls how quickly the popup window disappears.
- Valid values: Any integer value
- Default: 16
Example
FADE_OUT_DURATION = 16
FLOAT_DISTANCE
Y-axis movement distance during fade animations. Controls the "floating" effect height. Set to 0 to disable movement.
- Valid values: Any integer value
- Default: 32
Example
FLOAT_DISTANCE = 32
Sound Effect Settings
PLAY_SOUND
Enable automatic sound effect playback when popup appears.
- Valid values: true or false
- Default: true
Example
PLAY_SOUND = true
SOUND_NAME
Filename of the sound effect to play. Must exist in the Audio/SE folder.
- Valid values: String filename without extension
- Default: "Chime2"
Example
SOUND_NAME = "Chime2"
SOUND_VOLUME
Volume level for the sound effect (0-100).
- Valid values: Integer between 0 and 100
- Default: 80
Example
SOUND_VOLUME = 80
SOUND_PITCH
Pitch adjustment for the sound effect (50-150).
- Valid values: Integer between 50 and 150
- Default: 100
Example
SOUND_PITCH = 100
Script Calls
Basic Popup Display
default_popup(['text line 1', 'text line 2'], x, y, type)
Displays a popup window with custom text content.
- text: Array of strings or hashes for each line of popup text. String format: "Text content" (left-aligned by default). Hash format: {text: "Text content", align: :center/:left/:right}
- x: Optional horizontal position (nil for center)
- y: Optional vertical position (nil for center)
- type: Optional windowskin type (:default, :frame, :topbar, :help)
- Returns: Nil
Examples
# Basic popup with single line and icon
default_popup(['\i[5] Mage class unlocked!'])
# Two lines with custom position x=50, y=50
default_popup(['\c[16]Class Change:\c[0]',
'Speak to any hermit!'], 50, 50)
# Mixed alignment: centered title with left-aligned text
default_popup([{text: 'Centered Title', align: :center}, 'Left text'])
# Right-aligned text
default_popup([{text: 'Right Text', align: :right}])
# Frame windowskin type (requires Hammy FF9 Windowskin System)
default_popup(['Special message!'], nil, nil, :frame)
Gold Reward Popups
gold_popup(amount, x, y, type)
Displays gold reward popup and adds gold to party.
- amount: Amount of gold to add to party funds
- x: Optional horizontal position (nil for center)
- y: Optional vertical position (nil for center)
- type: Optional windowskin type (:default, :frame, :topbar, :help)
- Returns: Nil
Examples
# Add 100 gold
gold_popup(100)
# Add 9999 gold at position x=200, y=100
gold_popup(9999, 200, 100)
Item Reward Popups
item_popup(item_id, quantity, x, y, type)
Displays item reward popup and adds items to inventory.
- item_id: Database ID of the item to reward
- quantity: Number of items to add (default: 1)
- x: Optional horizontal position (nil for center)
- y: Optional vertical position (nil for center)
- type: Optional windowskin type (:default, :frame, :topbar, :help)
- Returns: Nil
Examples
# Add 1 of item ID 1
item_popup(1)
# Add 3 of item ID 5 at position x=50, y=50
item_popup(5, 3, 50, 50)
Installation
- Copy the script to an open slot below ▼ Materials but above ▼ Main
- If using Hammy FF9 Windowskin System, place this script ABOVE the Windowskin System script
- If using Hammy Window Shadows, place this script ABOVE the Window Shadows script
- Recommended: Install Text Cache v1.04 by Mithran for optimal text rendering
Compatibility
This script is made strictly for RPG Maker VX Ace. It is highly unlikely that it will run with RPG Maker VX without adjusting.
License
MIT License - Free for commercial and non-commercial use.
Credits
This script is based on Vlue's Popup Window script.
Why VX Ace?
You might wonder why I'm still making scripts for VX Ace instead of MV/MZ. The answer is simple: Ruby is pure beauty, while JavaScript is a terrible language. Ruby's elegant syntax, intuitive design, and expressive power make scripting a joy. JavaScript, on the other hand, is a chaotic mess of inconsistencies and quirks that I simply despise.
I work with RPG Maker VX Ace for my own game project, and I share the scripts I create with the community. If you're still using VX Ace, you're in good company!
Download
Script: Download from GitHub
Demo: Download from GitHub
Features Mentioned
- Core Popup Features
- Key-controlled popup windows (C/B to close when fully open)
- Custom window positioning with optional x/y coordinate override
- Per-line text alignment (left, center, right) with mixed format support
- Window type override support via Hammy FF9 Windowskin System integration
- Helper Methods
- Default popup display with custom text arrays
- Item reward popups with automatic inventory management
- Gold reward popups with automatic currency addition
- Technical Features
- Player movement blocking during popup display
- Dynamic window sizing based on text content
- RGSS3-compliant escape code processing and rendering
- Compact spacing mode for empty lines (half-height rendering)
Downloads / Referenced Files
Log in, then follow the RPG Maker Developers Group to see these download links.
Log in to downloadLicense / Terms Note
License MIT License - Free for commercial and non-commercial use. Credits This script is based on Vlue's Popup Window script.
Creator Claims / Removal
If you are the original creator and want this listing reassigned, edited, or removed, join BMMPlay and contact the moderators with proof that matches the original RPG Maker Web profile, linked GitHub, itch.io page, or another public creator identity.
Replies (0)
No replies yet.
Topic Summary
Loading summary...