diff --git a/[core]/esx_progressbar/Progress.lua b/[core]/esx_progressbar/Progress.lua index e82cb05c..96a638fb 100644 --- a/[core]/esx_progressbar/Progress.lua +++ b/[core]/esx_progressbar/Progress.lua @@ -1,50 +1,50 @@ local CurrentProgress = nil local function Progressbar(message,length,Options) - local Canceled = false - if not CurrentProgress then - CurrentProgress = Options or {} - if CurrentProgress.animation then - if CurrentProgress.animation.type == "anim" then - ESX.Streaming.RequestAnimDict(CurrentProgress.animation.dict, function() - TaskPlayAnim(ESX.PlayerData.ped, CurrentProgress.animation.dict, CurrentProgress.animation.lib, 1.0, 1.0, length, 1, 1.0, false,false,false) - RemoveAnimDict(CurrentProgress.animation.dict) - end) - elseif CurrentProgress.animation.type == "Scenario" then - TaskStartScenarioInPlace(ESX.PlayerData.ped, CurrentProgress.animation.Scenario, 0, true) - end + if CurrentProgress then + return false + end + CurrentProgress = Options or {} + if CurrentProgress.animation then + if CurrentProgress.animation.type == "anim" then + ESX.Streaming.RequestAnimDict(CurrentProgress.animation.dict, function() + TaskPlayAnim(ESX.PlayerData.ped, CurrentProgress.animation.dict, CurrentProgress.animation.lib, 1.0, 1.0, length, 1, 1.0, false,false,false) + RemoveAnimDict(CurrentProgress.animation.dict) + end) + elseif CurrentProgress.animation.type == "Scenario" then + TaskStartScenarioInPlace(ESX.PlayerData.ped, CurrentProgress.animation.Scenario, 0, true) end - if CurrentProgress.FreezePlayer then FreezeEntityPosition(PlayerPedId(),CurrentProgress.FreezePlayer) end - SendNuiMessage(json.encode({ - type = "Progressbar", - length = length or 3000, - message = message or "ESX-Framework" - })) - CurrentProgress.length = length or 3000 - while CurrentProgress ~= nil do - if CurrentProgress.length > 0 then - CurrentProgress.length -= 1000 - else - ClearPedTasks(ESX.PlayerData.ped) - if CurrentProgress.FreezePlayer then FreezeEntityPosition(PlayerPedId(), false) end - if CurrentProgress.onFinish then CurrentProgress.onFinish() end - CurrentProgress = nil - end - Wait(1000) + end + if CurrentProgress.FreezePlayer then FreezeEntityPosition(PlayerPedId(), CurrentProgress.FreezePlayer) end + SendNUIMessage({ + type = "Progressbar", + length = length or 3000, + message = message or "ESX-Framework" + }) + CurrentProgress.length = length or 3000 + while CurrentProgress ~= nil do + if CurrentProgress.length > 0 then + CurrentProgress.length -= 1000 + else + ClearPedTasks(ESX.PlayerData.ped) + if CurrentProgress.FreezePlayer then FreezeEntityPosition(PlayerPedId(), false) end + if CurrentProgress.onFinish then CurrentProgress.onFinish() end + CurrentProgress = nil end + Wait(1000) end end ESX.RegisterInput("cancelprog", "[ProgressBar] Cancel Progressbar", "keyboard", "BACK", function() if not CurrentProgress then return end if not CurrentProgress.onCancel then return end - SendNuiMessage(json.encode({ + SendNUIMessage({ type = "Close" - })) - ClearPedTasks(ESX.PlayerData.ped) - if CurrentProgress.FreezePlayer then FreezeEntityPosition(PlayerPedId(), false) end - CurrentProgress.canceled = true - CurrentProgress.length = 0 - CurrentProgress.onCancel() - CurrentProgress = nil + }) + ClearPedTasks(ESX.PlayerData.ped) + if CurrentProgress.FreezePlayer then FreezeEntityPosition(PlayerPedId(), false) end + CurrentProgress.canceled = true + CurrentProgress.length = 0 + CurrentProgress.onCancel() + CurrentProgress = nil end) -exports('Progressbar', Progressbar) \ No newline at end of file +exports('Progressbar', Progressbar) diff --git a/[core]/esx_progressbar/nui/index.html b/[core]/esx_progressbar/nui/index.html index dcf006ee..390c6c7c 100644 --- a/[core]/esx_progressbar/nui/index.html +++ b/[core]/esx_progressbar/nui/index.html @@ -1,10 +1,8 @@ - -
@@ -13,8 +11,10 @@

+
+