Run it
Copy the script and paste it into your executor.
Players = :()
LocalPlayer = Players.LocalPlayer Players:(.Parent)
MoodTypes = {
EXCITED = {
emotes = {, , },
energyLevel =
},
CHILL = {
emotes = {, , },
energyLevel =
},
DRAMATIC = {
emotes = {, , },
energyLevel =
}
}
ChatSinger = {
_version = ,
_mood = ,
_personalityTraits = {
randomness = ,
chattiness = ,
musicality =
}
}
ChatSinger:(newMood)
MoodTypes[newMood]
self._mood = newMood
( .. newMood)
( .. self._mood)
ChatSinger:(songLyrics, options)
config = {
useEmotes = ,
randomDelay = ,
personalitySpice =
}
options
k, v (options)
config[k] = v
currentMoodData = MoodTypes[self._mood]
.(()
i, line (songLyrics)
emote = config.useEmotes
(currentMoodData.emotes[.(#currentMoodData.emotes)] )
baseDelay = config.randomDelay
.(, ) * currentMoodData.energyLevel
config.personalitySpice .() < self._personalityTraits.chattiness
personalComments = {
,
,
}
comment = personalComments[.(#personalComments)]
.ReplicatedStorage.DefaultChatSystemChatEvents.SayMessageRequest:(comment, )
.ReplicatedStorage.DefaultChatSystemChatEvents.SayMessageRequest:(
line .. .. emote,
)
(baseDelay)
)()
SongPresets = {
{
name = ,
lyrics = {
,
,
}
},
{
name = ,
lyrics = {
,
,
}
}
}
ChatSinger:(length)
length = length .(, )
randomLyrics = {}
lyricTemplates = {
,
,
}
things = {, , , , }
actions = {, , , }
emotions = {, , , }
places = {, , }
i = , length
template = lyricTemplates[.(#lyricTemplates)]
line = template:(, things[.(#things)])
:(, actions[.(#actions)])
:(, emotions[.(#emotions)])
:(, places[.(#places)])
.(randomLyrics, line)
randomLyrics
ChatSinger:(name)
_, song (SongPresets)
song.name:() == name:()
song.lyrics
{
Sing = (lyrics, options)
(lyrics) ==
lyrics = ChatSinger:(lyrics)
lyrics
lyrics = ChatSinger:()
ChatSinger:(lyrics, options)
,
SetMood = (mood)
ChatSinger:(mood)
,
GenerateRandomSong = (length)
ChatSinger:(length)
,
Presets = SongPresets
}THIS SCRIPT IS A MODULE! This can be used for AI Scripts!

Universal