mad_goon
Lets players interact with AI concierges to get context-aware voice responses.
Link
Introduction
Talk to your disturbingly affectionate AI assistant. They understand you. They compliment you. They watch you sleep.
💦 mad_goon lets players interact with the Prix Luxury AI Concierge voices from GTA Online's Safehouse in the Hills DLC. Type something, and Angel (or Haviland, or OG) responds with semantic matching voice lines - fully offline, no external APIs.
Please goon responsibly 💦
Preview






Philosophy
mad_goon was built as an exploration into headless, local semantic interpretation; the kind of language processing that existed before large-scale AI services became the default solution.
While modern AI APIs can solve this problem more effectively, they also introduce external dependencies, ongoing costs, latency, and privacy considerations. This project deliberately avoids those trade-offs by remaining entirely offline and self-contained. The goal is not to compete with modern AI, but to understand and apply classical NLP techniques in a practical, game-focused context.
It's what was cool before ChatGPT made everyone forget that maths could do this too.
How it works
Player sends a message (e.g.
"hey what's up")Text is tokenised and vectorised using TF-IDF
Cosine similarity matches input against a topic corpus
Weighted scoring selects the best voice bucket
Native ambient speech plays the response
Features
Semantic Matching - Uses natural language processing to understand player input and selects a fitting response
Fully Offline - No external API calls, no cloud dependencies
Context-Aware - Time of day and player state influence responses
Networked Sounds - Audio playback is synced to nearby players
Gendered Addressals - Auto-detects ped gender, with manual override
Multiple Personas - Switch between Angel, Haviland, and OG
Dynamic Objects - Easily add interactive objects that auto-updates models when changing AI characters
Customisable Themes - Theme system for colours and icons across UIs
Developer API - Exports for integration with other resources
Logging - Player messages and identifiers can be logged to Discord
Interaction Methods
Interact with the AI in various ways:
All methods allow you to:
Send a message and get a response
Select the AI persona to use
Select your preferred addressal
Get a random message from your AI
Commands
/ai_talk
Talk to the AI
message
/ai_select
Choose persona
angel / haviland / og
/ai_callme
Set addressal
male / female
/ai_menu
Open the AI menu
/ai_random
Play a random speech from the AI
Dependencies
Game Build 3717+
Optional: ox_target
Developer API
View the developer documentation for usage, exports, and integration guides.
Speech Reference Spreadsheet
You can find a comprehensive spreadsheet of all Prix Luxury AI Concierge speeches in the docs directory.
Each speech entry includes:
Base ID
Suffix ID
Unique ID
Gender
Transcript
View Online: Google Sheets - Prix Luxury AI Concierge Speeches
Debug
Debug prints utilise ox_lib prints. To enable, enter in your console:
Replace debug with your desired print level.
Locale
Set your language in your server.cfg:
Replace en with your desired language. Refer to ISO 639 language codes.
Bridge System
The resource uses a modular bridge system for compatibility:
Notification Bridge: ox_lib, qb-core, mad-thoughts, custom
Target Bridge: ox_target, custom
Menu Bridge: ox_lib, custom
All bridges auto-detect and load the appropriate implementation based on the active resources on your server. The notification and menu resources to use can be set in the client config. The bridge system is designed for easy expansion - custom bridges can be added to support other resources as needed.
Support
Check out other unique scripts on my Tebex, show your ❤️ by buying me a Ko-Fi, or join my Discord server for support:
Last updated
