πŸ“š Docs
πŸ’Ž AIO Panel [All in One]
Installation

Install

πŸ“¦ Installation

AIO Panel

Step 1

Download the resource from your FiveM Keymaster

Step 2

Unzip the FRVGS_AIOPanel folder

Step 3

Copy the panel_aio folder to a static webserver

Step 4

Your Web Panel is live !

Google Sheet - Management

Step 1

Make a copy of the Google Sheets provided with your Panel (FRVGS AIO Panel)

Step 2

Create a share link for your Google Sheets

  1. File > Share > Publish to Web
  2. Select the CSV as output
  3. Copy the link

Step 3

Edit your Panel Config files to add your link

  1. Edit the config.json
  2. Enter the link copied previousely

Google Sheet - Forms

Step 1

Make a copy of the Google Sheets provided with your Panel (FRVGS AIO Panel Forms)

  • File > Make a copy

Step 2

  1. Click on Extensions > Apps Script
  2. Modify the webhook_url and image_url for the form in form.gs script
  3. Click on Run > InitialSetup
  4. Click on Deploy and accept the authorizations
  5. Copy the deployment URL and paste it in config.json in the scriptURL entry
  6. Now on the left sidebar of the Apps Script, click on Triggers
  7. Select the project "Triggers" from the sidebar and then click the Add Trigger button
  8. In the window that appears, select the following options:
    • Choose which function to run: doPost
    • Choose which deployment should run: Head
    • Select event source: From spreadsheet
    • Select event type: On form submit
    • Select notification settings : Notify me immediately
    • Save the Trigger

Step 3

Your Panel is now ready and configured with your Google Sheet and Discord Webhook.

πŸŽ› Configuration

/configs/config.json

{
  "defaultLanguage": "en", // Default language
  "useGoogleSheets": true, // true - to use Google Sheets / false - to use JSON files
  "scriptURL": "google_app_script_url", // Google App Script URL from Panel AIO Forms
 
  "type": "twitch", // twitch or youtube
  "youtubeVideoId": "youtube_live", // Youtube channel ID
  "twitchChannel": "twitch_channel", // Twitch channel ID
  "parentDomain": "localhost",
 
  // Google Sheets Configurations
  "mapGlobal": "google_sheets_url_AIO_PANEL_MAP",
 
  "SheetsBusiness": "google_sheets_url_AIO_PANEL_BUSINESS",
  "SheetBusinessLocal": "/assets/data/business.json",
 
  "SheetsCity": "google_sheets_url_AIO_PANEL_CITY",
  "SheetsCityLocal": "/assets/data/city.json",
 
  "SheetsGroups": "google_sheets_url_AIO_PANEL_GROUPS",
  "SheetsGroupsLocal": "/assets/data/groups.json",
 
  "SheetsStreamers": "google_sheets_url_AIO_PANEL_STREAMERS",
  "SheetsStreamersLocal": "/assets/data/streamers.json",
 
  "propertiesPerPage": 12,
  "SheetsPropertiesTeam": "google_sheets_url_AIO_PANEL_PROPERTIES_TEAM",
  "SheetsProperties": "google_sheets_url_AIO_PANEL_PROPERTIES",
  "SheetsPropertiesLocal": "/assets/data/properties.json",
 
  "vehiclesPerPage": 18,
  "SheetsVehiclesTeam": "google_sheets_url_AIO_PANEL_VEHICLES_TEAM",
  "SheetsVehicles": "google_sheets_url_AIO_PANEL_VEHICLES",
  "SheetsVehiclesLocal": "/assets/data/vehicles.json",
 
  "eventsPerPage": 12,
  "SheetsEventsTeam": "google_sheets_url_AIO_PANEL_EVENTS_TEAM",
  "SheetsEvents": "google_sheets_url_AIO_PANEL_EVENTS",
  "SheetsEventsLocal": "/assets/data/events.json"
}

form.gs

const FORM_CONFIG = {
    form1: {
    sheetName: 'Whitelist',
    webhook: 'webhook_url',
    headerImageUrl: 'image_url'
  },
  form2: {
    sheetName: 'Business Form',
    webhook: 'webhook_url',
    headerImageUrl: 'image_url'
  },
  form3: {
    sheetName: 'EMS Form',
    webhook: 'webhook_url',
    headerImageUrl: 'image_url'
  },
  form4: {
    sheetName: 'Police Form',
    webhook: 'webhook_url',
    headerImageUrl: 'image_url'
  },
  form5: {
    sheetName: 'FireFighter Form',
    webhook: 'webhook_url',
    headerImageUrl: 'image_url'
  },
  form6: {
    sheetName: 'Justice Form',
    webhook: 'webhook_url',
    headerImageUrl: 'image_url'
  },
  form7: {
    sheetName: 'Orgs Form',
    webhook: 'webhook_url',
    headerImageUrl: 'image_url'
  },
  form8: {
    sheetName: 'Stream Form',
    webhook: 'webhook_url',
    headerImageUrl: 'image_url'
  }
  // you can add as many form as you need
};

πŸ›Ÿ Additional Support

If you need help configuring your Panel, feel free to join FRVGS Discord Server (opens in a new tab) for personalized support.