A script that takes in and processes data from the Roblox game Football Fusion.
About • Requirements • Usage • Using the API • Credits • License
- Export Game & Scorebug Values to Text Files
- Custom Player, Replay, and Kicker Jerseys
- Custom Field and Stadium Decals
- Advanced Data Collection (Win %, TOP, Play-by-Play Stats, Drive Stats, Player Stats, & more)
- Discord Webhook Updates
- Twitch Chat Score Updates
- Firebase Realtime Updates Integration
- Automatic Twitch Highlight Clipping (uploaded to DynamoDB)
- Automatic Game Stats uploaded to an AWS S3 Bucket at the end of the game
- Automatic Touchdown Songs
- Easily Integratable API for your own Open-Source Projects
This collection of scripts were initially created for RSPN, a Roblox Sports Streaming Network. However, because of the introduction of Roblox's Byfron Anticheat, it was only ever used once.
At the time of this being written, no injector has yet to bypass the Anticheat, thus making it reasonable for me to make this code public. These scripts arent in the most usable state, but below I will vaguely explain how to use them.
If you're interested in how I wrote certain parts of the script, or have another question, feel free to DM me on Discord @Supermrk. I will not help you use these scripts, however. This Github will continue to be public and if you're interested in adding updates, feel free to commit changes and I will merge those that seem fit.
- A Roblox Script Injector - The only confirmed working injectors are either Synapse X or one that follows the Unified Naming Convention.
To use this script, just run the ScorebugScript.lua
file under the src
folder. The first time you run the script, it will kick you from the game and make a config.json
file under the Workspace folder of your injector. You are required to fill out the Home Team
and Away Team
inputs with a College Team's Name (database is in the Utilities.lua
folder), the others are completely optional.
If you're wanting to use any of the Twitch specific features, then the second time you run the script a URL will be copied to your clipboard so you can complete the OAuth2 process. Also, make sure to change the Twitch Channels table under the Utilities.lua
folder.
Note: Various features in the demo ScorebugScript.lua require sensititve information. These can be filled out in the "Settings" table at the top of the script.
If you're not interested in using the pre-made central script and want to create your own, using the modules as APIs is simple.
Required: You must initialize any modules you wish to use.
-- You may replace the URL with a raw version of your script
local FFAPI = loadstring(game:HttpGet('https://raw.githubusercontent.com/Supermrk/FusionAPI/main/src/Modules/FFAPI.lua', true))()
local Utilities = loadstring(game:HttpGet('https://raw.githubusercontent.com/Supermrk/FusionAPI/main/src/Modules/Enviroment.lua', true))()
local Enviroment = loadstring(game:HttpGet('https://raw.githubusercontent.com/Supermrk/FusionAPI/main/src/Modules/Utilities.lua', true))()
Required: This is required before any of the scripts can work.
1. If you're using the built in config:
local config = Utilities:GetConfig()
2. Getting the Team's Info:
-- Using the Config
local awayInfo = Utilities:GetTeam(config.GameInfo.Away)
local homeInfo = Utilities:GetTeam(config.GameInfo.Home)
-- Using a String
local awayInfo = Utilities:GetTeam("Minnesota")
local homeInfo = Utilities:GetTeam("Michigan State")
3. Setting the Teams in the Modules:
FFAPI.Settings.AwayTeam = awayInfo
FFAPI.Settings.HomeTeam = homeInfo
Enviroment:SetTeams(awayInfo,homeInfo)
Most of the values are stored under the module table returned after loading/requiring any of the APIs. Here's a few examples of fetching data:
print("Away Score", FFAPI.Values.AwayScore)
print("Away Win Percentage", FFAPI.Values.AwayInfo.WIN)
print("Away Time of Possession", FFAPI.Values.AwayInfo.TOP)
print("Current Drive Plays", FFAPI.Values.CurrentDrive.PLAYS)
For a full list, take a look at the FFAPI.lua
module.
There are plenty of events included in the FFAPI. Here's an example of connecting to the HomeScored
Event:
FFAPI.Events.HomeScored.Event:Connect(function(newScore, scoreReason)
print("The home team has scored!", newScore, scoreReason)
end)
For a full list of events, take a look at the FFAPI.lua
module under module.Events
.
It's useful to have a keybind to automatically swap teams in case the team you selected as the Home Team is actually the Away Team (it happens all of the time). Here's an example of how you can do that:
game:GetService("UserInputService").InputBegan:Connect(function(input)
local keyCode = input.KeyCode
if (keyCode == Enum.KeyCode.F5) then -- You can change the keycode
local awayInfo = FFAPI.Settings.AwayTeam
local homeInfo = FFAPI.Settings.HomeTeam
FFAPI.Settings.AwayTeam = homeInfo
FFAPI.Settings.HomeTeam = awayInfo
Enviroment:SetTeams(homeInfo,awayInfo)
end
end)
For more examples on how to use the API, check out the Examples Folder
- Supermrk - Lead Developer.
- Hayden - Helped with creating the College Teams database and testing.
- Alfredo - Helped with testing.
- Woofy - For helping with the camera features.
- Vol - For giving us permission to use these scripts, as well as giving us tons of Primetime and Playoff games.
- XSTNS & Bay - For creating Football Fusion and for giving us permission to use scripts for the purpose of streaming.
- Arvoria - For creating the Firebase Roblox Wrapper, Robase.