You must enable HTTP Requests and API Services within the studio tab to allow this product to load into your experience. Please check this before opening a support ticket within the server.
In order to utilise the Vision System, you need to have purchased a licence from the jaDevelopment Website, which can be found here.
Once purchased, you will be provided with plenty customisation options through the Settings module, accessible within the jaVision - Version 1.6.1 folder.
You can begin customisation by accessing the . Information is already provided on each line. Please refer to either that, our setup video, or additional information & support from this page.
Configure Group
["GroupID"] = 14665139, -- Group ID
["StaffID"] = 1, -- Minimum staff role ID to use system
["AdminID"] = 1, -- Minimum admin role ID to use more advanced features, for administrators/leadership only
["StudentID"] = 1, -- Maximum student role ID
["SchoolName"] = "jaDevelopment", -- School name
["SchoolType"] = "Secondary", -- Type of school (ie. primary, secondary, academy)
["IconID"] = 0, -- Custom school logo ID
Options
Description
GroupID
The ID of your Roblox group
StaffID
The minimum role ID a user has to be to access the staff version of Vision
AdminID
The minimum role ID a user has to be to access specific features, such as timetabling, settings, etc
StudentID
The maximum role ID a user has to be to be considered a student (e.g 10+ for staff, 9 and below for students)
SchoolName
Your specific school name
SchoolType
Type of school (e.g primary, secondary, academy)
IconID
A designated image ID for your school, appears on all Vision assets/features
Configure Data
["VisionPlayerDataStoreKey"] = "RANDOMKEY-Players", -- Change this to anything of your choice (stores player data)
["VisionSettingsDataStoreKey"] = "RANDOMKEY-Settings", -- Change this to anything of your choice (stores general vision settings)
Options
Description
VisionPlayerDataStoreKey
A hidden, specific & random key of your choosing. Saves individual player data for your game
VisionSettingsDataStoreKey
A hidden, specific & random key of your choosing. Saves specific vision settings for your game
Webhook Integration
["VisionWebhookURL"] = "",
["WebhookColors"] = { -- Must be a hex value, with '0x' positioned before
["Green"] = tonumber(0x2c8c26),
["Red"] = tonumber(0xba2b20),
["Orange"] = tonumber(0xff9220),
["Grey"] = tonumber(0x595959)
},
Commands
["Commands"] = {
-- Chat-based Vision control commands
Enabled = true, -- Enable/disable commands
Prefix = "%", -- Command prefix
["CommandNames"] = {
Isolate = "isolate", -- e.g %isolate USER REASON or %isolate USER
Positive = "merit", -- e.g %merit USER AMOUNT or %merit USER
Negative = "demerit", -- e.g %demerit USER AMOUNT or %demerit USER
Relocate = "relocate", -- e.g %relocate USER REASON or %relocate USER
NonUniform = "nonuniform", -- e.g %nonuniform USER
Timeout = "timeout", -- e.g %timeout USER
}
},
On Call Alerts
["OnCallsEnabled"] = true,
["RankIDs"] = {1, 2, 3}, -- Choose every rank ID, separated by a comma which are able to manage on call alerts
With the introduction of commands, you are not required to use gamepass IDs to distribute non-uniform or timeout passes. These can be set to 0 as shown below, to disable gamepass requirements. You can use and have both gamepass and commands to give out these passes.
["NonUniformPass"] = { -- Non Uniform Pass will display as an additional tag above the player's head
Enabled = false, -- Enable/disable pass
GamepassID = 0, -- Provide correct gamepass ID (set to 0 if you wish for this to be disabled)
},
["TimeoutPass"] = { -- Timeout Pass will display as an additional tag above the player's head
Enabled = false, -- Enable/disable pass
GamepassID = 0, -- Provide correct gamepass ID (set to 0 if you wish for this to be disabled)
},
["Lanyards"] = {
Enabled = true, -- Should lanyards be automatically equiped on staff on server join
ColorTheme = Color3.fromRGB(255, 146, 32),
LogoID = 0 -- Seperate logo idealy in black, if left as 0 it will use the main icon id
},
["CustomLanyards"] = {
Enabled = false,
GroupLanyards = {
["Sixth Form"] = {
Enabled = false,
CardColourTheme = Color3.fromRGB(34, 67, 35),
LanyardTitleColour = Color3.fromRGB(255, 255, 255),
TextureType = "Student" -- "Senior Leader", "Student", "Staff" OR "Custom" (Custom shows the Group name with the default Group colour)
},
},
},
Isolation and Relocation Data
With the recent changes, you are not required to have an actual isolation team in your Teams section of your game. You can set this to nil and the isolation feature will still function the same.
To integrate your own isolation team, plese replace nil where it says ["IsolationTeam"] with:
["Isolation"] = {
Enabled = true,
["IsolationTeam"] = nil, -- Set a designated Team for students to be isolated into, not required
},
["Relocation"] = { -- Additional, optional feature for traditional removing/relocating of students
Enabled = false,
TeleportToFolder = "Relocation", -- The name of the folder with the spawns that the student will be teleported to (for relocate command)
},
["DisableJumpPower"] = true, -- Should jumppower be restricted to 0
["TeleportPlayer"] = true, -- Should the student be teleported to a specific spawn
Configure Interface
["UI Theme"] = "Light", -- Select a UI theme for Vision (Light or Dark)
["Boot Screen"] = true, -- Toggles boot screen
["Session Details Screen Position"] = 1, -- Enter type of screen position (1: Top, 2: Bottom Left, 3: Bottom, 4: Bottom Right)
["ColourTheme"] = Color3.fromRGB(255, 146, 32),
-- Set the primary colour theme to any colour if your choice
-- Default colour is Color3.fromRGB(255, 146, 32)
["Timezone"] = "GMT", -- Accepted timezones: BST, GMT, EET, CET, ET, CT, AEST, AEDT
Session Data
With this latest release, the system of teams/year groups has been altered. You can see below, that we have a list of "groups" (year groups), with the name and role IDs. in the Roles = {1, 2, 3} you must place each role ID that you would like to have that specific year group.
For example, I want role IDs from my group: 250 to have the Year 7 group. This would look like:
{ Name = "Year 7", Roles = {250} },
["Groups"] = { -- List of student groups. Place corresponding GROUP role IDs into the Roles table {}
{ Name = "Awaiting", Roles = {1, 2, 3} },
{ Name = "Year 7", Roles = {4} },
{ Name = "Year 8", Roles = {5} },
{ Name = "Year 9", Roles = {6} },
{ Name = "Year 10", Roles = {254} },
{ Name = "Year 11", Roles = {255} },
},
["ClosureTime"] = "19:45",
["Periods"] = {
{ Name = "Form", Time = "08:00", AttendanceIsLogged = true},
{ Name = "Period 1", Time = "09:00", AttendanceIsLogged = true},
{ Name = "Break", Time = "10:00", AttendanceIsLogged = false},
{ Name = "Period 3", Time = "11:00", AttendanceIsLogged = true},
{ Name = "Lunch", Time = "12:00", AttendanceIsLogged = false},
{ Name = "Period 4", Time = "13:00", AttendanceIsLogged = true},
}
The periods section has been altered as well, to be more simpler to understand. You can copy/remove each line in the Periods to create or remove one.
Options
Description
AttendanceIsLogged
Determines if a lesson/period appears as a lesson and configures whether or not students can be marked in or not
Time
Determines when the lesson begins
ClosureTime
The end time of the last lesson to occur
You must own a license to this product to be able to use this in your experience. Please ensure you own this before progressing with setup.