68 lines
1.9 KiB
Lua
68 lines
1.9 KiB
Lua
|
local QBCore = exports['qb-core']:GetCoreObject()
|
||
|
|
||
|
RegisterNetEvent('QBCore:Client:OnPlayerLoaded', function()
|
||
|
Citizen.CreateThread(function()
|
||
|
FetchSkills()
|
||
|
|
||
|
while true do
|
||
|
local seconds = Config.UpdateFrequency * 1000
|
||
|
Citizen.Wait(seconds)
|
||
|
|
||
|
for skill, value in pairs(Config.Skills) do
|
||
|
UpdateSkill(skill, value["RemoveAmount"])
|
||
|
end
|
||
|
|
||
|
TriggerServerEvent("skillsystem:update", json.encode(Config.Skills))
|
||
|
end
|
||
|
end)
|
||
|
|
||
|
RegisterNetEvent('QBCore:Client:OnPlayerUnload', function()
|
||
|
for skill, value in pairs(Config.Skills) do
|
||
|
Config.Skills[skill]["Current"] = 0
|
||
|
end
|
||
|
end)
|
||
|
|
||
|
|
||
|
Citizen.CreateThread(function()
|
||
|
while true do
|
||
|
Citizen.Wait(25000) -- the value for the test - default 60000
|
||
|
local ped = PlayerPedId()
|
||
|
local vehicle = GetVehiclePedIsUsing(ped)
|
||
|
local isDead = QBCore.Functions.GetPlayerData().metadata["isdead"]
|
||
|
local islaststand = QBCore.Functions.GetPlayerData().metadata["islaststand"]
|
||
|
if LocalPlayer.state.isLoggedIn and not isDead and not islaststand then
|
||
|
if IsPedRunning(ped) then
|
||
|
UpdateSkill("Stamina", 0.1)
|
||
|
elseif IsPedInMeleeCombat(ped) then
|
||
|
UpdateSkill("Strength", 0.2)
|
||
|
elseif IsPedSwimmingUnderWater(ped) then
|
||
|
UpdateSkill("LungCapacity", 0.5)
|
||
|
elseif IsPedShooting(ped) then
|
||
|
UpdateSkill("Shooting", 0.1)
|
||
|
elseif DoesEntityExist(vehicle) and GetPedInVehicleSeat(vehicle, -1) == ped then
|
||
|
local speed = GetEntitySpeed(vehicle) * 3.6
|
||
|
if GetVehicleClass(vehicle) == 8 or GetVehicleClass(vehicle) == 13 and speed >= 5 then
|
||
|
local rotation = GetEntityRotation(vehicle)
|
||
|
if IsControlPressed(0, 210) then
|
||
|
if rotation.x >= 25.0 then
|
||
|
UpdateSkill("Wheelie", 0.2)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
if speed >= 80 then
|
||
|
UpdateSkill("Driving", 0.1)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end)
|
||
|
end)
|
||
|
|
||
|
|
||
|
AddEventHandler('onResourceStart', function(resource)
|
||
|
if resource == GetCurrentResourceName() then
|
||
|
Wait(100)
|
||
|
FetchSkills()
|
||
|
end
|
||
|
end)
|