π οΈConfiguration
Main Configuration (sh.main.lua)
Basic Settings
Config.MenuCommand = "skillSelection" -- Command to open menu (string or false)
Config.Keybind = "F6" -- Keybind to open menu (string or false)
Skill Tree Settings
Config.UseDataFromSkillTree = false -- true/false
Use data about unlocked skills from the skill tree
πͺSkill Tree connectionAbilities
Config.Abilities = {
['wizard'] = {
name = "Wizard",
displayOrder = 1,
isVisible = function(source)
-- return true if the ability should be visible in the UI
-- server side
return true
end,
abilities = {
['water_spell'] = {
label = "Water spell",
icon = "fas fa-user",
useCooldown = 5,
onUse = function()
-- client side
print("Water spell used by "..GetPlayerName(PlayerId()))
return true -- return true if the ability was used successfully, false cooldown will not be triggered
end
},
['fire_spell'] = {
label = "Fire spell",
icon = "fire_spell.png",
useCooldown = 5,
onUse = function()
-- client side
print("Fire spell used by "..GetPlayerName(PlayerId()))
return true -- return true if the ability was used successfully, false cooldown w
end
},
}
},
['vampire'] = {
name = "Vampire",
displayOrder = 2,
isVisible = function(source)
-- return true if the ability should be visible in the UI
-- server side
return true
end,
abilities = {
['more_hp'] = {
label = "More Hp",
icon = "more_hp.png",
useCooldown = 5,
onUse = function()
-- client side
print("More hp used by "..GetPlayerName(PlayerId()))
return true -- return true if the ability was used successfully, false cooldown w
end
},
}
},
}
Hotbar settings
Config.UseBuildInHotBar = true --- true/false
Use the build in hotbar, if set to false you can use your own hotba if you are using custom hotbar use client event to listen for hotbar changes
RegisterNetEvent('devhub_skillSelection:client:syncSlots', function(data) end)
data is a table with structure like this:
{
[2] = { -- slot 2
category = "wizard",
uid = "water_spell",
label = "Water spell",
icon = "fas fa-user"
},
[6] = { -- slot 6
category = "vampire",
uid = "vampire_spell",
label = "Vampire spell",
icon = "fas fa-user
},
}
Config.DisplayHotBarOnScriptLoad = true --- true/false
Display the hotbar on script load, if set to false you can set when hotbar should be displayed using client event:
TriggerEvent('devhub_skillSelection:client:hotBarDisplayStatus', true)
If you are using custom hotbar you also need to set the hotbar slots.
Config.HotBarSlots = {
{ slotKey = "1", slotLabel = "1" },
{ slotKey = "2", slotLabel = "2" },
{ slotKey = "3", slotLabel = "3" },
{ slotKey = "4", slotLabel = "4" },
{ slotKey = "5", slotLabel = "5" },
{ slotKey = "6", slotLabel = "6" },
{ slotKey = "7", slotLabel = "7" },
{ slotKey = "8", slotLabel = "8" },
{ slotKey = "K", slotLabel = "K" },
}
slotKey - used in key mapping slotLabel - used in Ui
CustomHotBarCss
Adjust the positioning of hotbar.
Config.CustomHotBarCss = {
left = "50%",
top = "95%",
scale = 1.0,
gap = "0.75vw",
reverseRow = false,
column = false,
}
Language Configuration (sh.lang.lua)
The language file contains all text strings used in the UI. Each string can be customized:
Config.Lang = {
['skill_select'] = "Skill select",
['skill_select_hotbar'] = "Skill select hotbar",
['confirm'] = "Confirm",
}
Framework File (s.framework.lua)
Set up your framework here for use within the isVisible function in Config.Abilities
Functions File (c.functions.lua)
Here, you can customize the behavior of the useRaycast function. Whole useRaycast function behaviour is open source.
useRaycast usage:
local maxDistance = 50
local coords, entity = useRaycast(maxDistance)
if not coords then return false end
Input:
If the coords
returns false, it indicates that the user attempted to point at coordinates too far from their original location.
Last updated