Skip to content

Commit

Permalink
Remove gloves, use function
Browse files Browse the repository at this point in the history
  • Loading branch information
GhzGarage committed Oct 27, 2023
1 parent 7182d8c commit 7088a33
Show file tree
Hide file tree
Showing 6 changed files with 909 additions and 863 deletions.
151 changes: 66 additions & 85 deletions client/main.lua
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ CreateThread(function()
local dist = #(pos - Config.Registers[k][1].xyz)
if dist <= 1 and Config.Registers[k].robbed then
inRange = true
DrawText3Ds(Config.Registers[k][1].xyz, Lang:t("text.the_cash_register_is_empty"))
DrawText3Ds(Config.Registers[k][1].xyz, Lang:t('text.the_cash_register_is_empty'))
end
end
if not inRange then
Expand All @@ -51,30 +51,30 @@ CreateThread(function()
local inRange = false
if QBCore ~= nil then
local pos = GetEntityCoords(PlayerPedId())
for safe,_ in pairs(Config.Safes) do
for safe, _ in pairs(Config.Safes) do
local dist = #(pos - Config.Safes[safe][1].xyz)
if dist < 3 then
inRange = true
if dist < 1.0 then
if not Config.Safes[safe].robbed then
DrawText3Ds(Config.Safes[safe][1].xyz, Lang:t("text.try_combination"))
DrawText3Ds(Config.Safes[safe][1].xyz, Lang:t('text.try_combination'))
if IsControlJustPressed(0, 38) then
if CurrentCops >= Config.MinimumStoreRobberyPolice then
currentSafe = safe
if math.random(1, 100) <= 65 and not IsWearingGloves() then
TriggerServerEvent("evidence:server:CreateFingerDrop", pos)
if math.random(1, 100) <= 65 and not QBCore.Functions.IsWearingGloves() then
TriggerServerEvent('evidence:server:CreateFingerDrop', pos)
end
if math.random(100) <= 50 then
TriggerServerEvent('hud:server:GainStress', math.random(1, 3))
end
if Config.Safes[safe].type == "keypad" then
if Config.Safes[safe].type == 'keypad' then
SendNUIMessage({
action = "openKeypad",
action = 'openKeypad',
})
SetNuiFocus(true, true)
else
QBCore.Functions.TriggerCallback('qb-storerobbery:server:getPadlockCombination', function(combination)
TriggerEvent("SafeCracker:StartMinigame", combination)
TriggerEvent('SafeCracker:StartMinigame', combination)
end, safe)
end

Expand All @@ -85,17 +85,17 @@ CreateThread(function()
local street2 = GetStreetNameFromHashKey(s2)
local streetLabel = street1
if street2 ~= nil then
streetLabel = streetLabel .. " " .. street2
streetLabel = streetLabel .. ' ' .. street2
end
TriggerServerEvent("qb-storerobbery:server:callCops", "safe", currentSafe, streetLabel, pos)
TriggerServerEvent('qb-storerobbery:server:callCops', 'safe', currentSafe, streetLabel, pos)
copsCalled = true
end
else
QBCore.Functions.Notify(Lang:t("error.minimum_store_robbery_police", { MinimumStoreRobberyPolice = Config.MinimumStoreRobberyPolice}), "error")
QBCore.Functions.Notify(Lang:t('error.minimum_store_robbery_police', { MinimumStoreRobberyPolice = Config.MinimumStoreRobberyPolice }), 'error')
end
end
else
DrawText3Ds(Config.Safes[safe][1].xyz, Lang:t("text.safe_opened"))
DrawText3Ds(Config.Safes[safe][1].xyz, Lang:t('text.safe_opened'))
end
end
end
Expand Down Expand Up @@ -137,64 +137,45 @@ RegisterNetEvent('lockpicks:UseLockpick', function(isAdvanced)
if usingAdvanced then
lockpick(true)
currentRegister = k
if not IsWearingGloves() then
TriggerServerEvent("evidence:server:CreateFingerDrop", pos)
if not QBCore.Functions.IsWearingGloves() then
TriggerServerEvent('evidence:server:CreateFingerDrop', pos)
end
if not copsCalled then
local s1, s2 = GetStreetNameAtCoord(pos.x, pos.y, pos.z)
local street1 = GetStreetNameFromHashKey(s1)
local street2 = GetStreetNameFromHashKey(s2)
local streetLabel = street1
if street2 ~= nil then
streetLabel = streetLabel .. " " .. street2
streetLabel = streetLabel .. ' ' .. street2
end
TriggerServerEvent("qb-storerobbery:server:callCops", "cashier", currentRegister, streetLabel, pos)
TriggerServerEvent('qb-storerobbery:server:callCops', 'cashier', currentRegister, streetLabel, pos)
copsCalled = true
end
else
lockpick(true)
currentRegister = k
if not IsWearingGloves() then
TriggerServerEvent("evidence:server:CreateFingerDrop", pos)
if not QBCore.Functions.IsWearingGloves() then
TriggerServerEvent('evidence:server:CreateFingerDrop', pos)
end
if not copsCalled then
local s1, s2 = GetStreetNameAtCoord(pos.x, pos.y, pos.z)
local street1 = GetStreetNameFromHashKey(s1)
local street2 = GetStreetNameFromHashKey(s2)
local streetLabel = street1
if street2 ~= nil then
streetLabel = streetLabel .. " " .. street2
streetLabel = streetLabel .. ' ' .. street2
end
TriggerServerEvent("qb-storerobbery:server:callCops", "cashier", currentRegister, streetLabel, pos)
TriggerServerEvent('qb-storerobbery:server:callCops', 'cashier', currentRegister, streetLabel, pos)
copsCalled = true
end

end

else
QBCore.Functions.Notify(Lang:t("error.minimum_store_robbery_police", { MinimumStoreRobberyPolice = Config.MinimumStoreRobberyPolice}), "error")
QBCore.Functions.Notify(Lang:t('error.minimum_store_robbery_police', { MinimumStoreRobberyPolice = Config.MinimumStoreRobberyPolice }), 'error')
end
end
end
end)

function IsWearingGloves()
local armIndex = GetPedDrawableVariation(PlayerPedId(), 3)
local model = GetEntityModel(PlayerPedId())
local retval = true

if model == `mp_m_freemode_01` then
if Config.MaleNoGloves[armIndex] ~= nil and Config.MaleNoGloves[armIndex] then
retval = false
end
else
if Config.FemaleNoGloves[armIndex] ~= nil and Config.FemaleNoGloves[armIndex] then
retval = false
end
end
return retval
end

function setupRegister()
QBCore.Functions.TriggerCallback('qb-storerobbery:server:getRegisterStatus', function(Registers)
for k in pairs(Registers) do
Expand All @@ -212,24 +193,24 @@ function setupSafes()
end

DrawText3Ds = function(coords, text)
SetTextScale(0.35, 0.35)
SetTextScale(0.35, 0.35)
SetTextFont(4)
SetTextProportional(1)
SetTextColour(255, 255, 255, 215)
BeginTextCommandDisplayText("STRING")
BeginTextCommandDisplayText('STRING')
SetTextCentre(true)
AddTextComponentSubstringPlayerName(text)
SetDrawOrigin(coords, 0)
EndTextCommandDisplayText(0.0, 0.0)
local factor = (string.len(text)) / 370
DrawRect(0.0, 0.0+0.0125, 0.017+ factor, 0.03, 0, 0, 0, 75)
DrawRect(0.0, 0.0 + 0.0125, 0.017 + factor, 0.03, 0, 0, 0, 75)
ClearDrawOrigin()
end

function lockpick(bool)
SetNuiFocus(bool, bool)
SendNUIMessage({
action = "ui",
action = 'ui',
toggle = bool,
})
SetCursorLocation(0.5, 0.2)
Expand All @@ -244,13 +225,13 @@ end

function takeAnim()
local ped = PlayerPedId()
while (not HasAnimDictLoaded("amb@prop_human_bum_bin@idle_b")) do
RequestAnimDict("amb@prop_human_bum_bin@idle_b")
while (not HasAnimDictLoaded('amb@prop_human_bum_bin@idle_b')) do
RequestAnimDict('amb@prop_human_bum_bin@idle_b')
Wait(100)
end
TaskPlayAnim(ped, "amb@prop_human_bum_bin@idle_b", "idle_d", 8.0, 8.0, -1, 50, 0, false, false, false)
TaskPlayAnim(ped, 'amb@prop_human_bum_bin@idle_b', 'idle_d', 8.0, 8.0, -1, 50, 0, false, false, false)
Wait(2500)
TaskPlayAnim(ped, "amb@prop_human_bum_bin@idle_b", "exit", 8.0, 8.0, -1, 50, 0, false, false, false)
TaskPlayAnim(ped, 'amb@prop_human_bum_bin@idle_b', 'exit', 8.0, 8.0, -1, 50, 0, false, false, false)
end

local openingDoor = false
Expand All @@ -261,14 +242,14 @@ RegisterNUICallback('success', function(_, cb)
TriggerServerEvent('qb-storerobbery:server:setRegisterStatus', currentRegister)
local lockpickTime = 25000
LockpickDoorAnim(lockpickTime)
QBCore.Functions.Progressbar("search_register", Lang:t("text.emptying_the_register"), lockpickTime, false, true, {
QBCore.Functions.Progressbar('search_register', Lang:t('text.emptying_the_register'), lockpickTime, false, true, {
disableMovement = true,
disableCarMovement = true,
disableMouse = false,
disableCombat = true,
}, {
animDict = "veh@break_in@0h@p_m_one@",
anim = "low_force_entry_ds",
animDict = 'veh@break_in@0h@p_m_one@',
anim = 'low_force_entry_ds',
flags = 16,
}, {}, {}, function() -- Done
openingDoor = false
Expand All @@ -277,7 +258,7 @@ RegisterNUICallback('success', function(_, cb)
end, function() -- Cancel
openingDoor = false
ClearPedTasks(PlayerPedId())
QBCore.Functions.Notify(Lang:t("error.process_canceled"), "error")
QBCore.Functions.Notify(Lang:t('error.process_canceled'), 'error')
currentRegister = 0
end)
CreateThread(function()
Expand All @@ -288,34 +269,34 @@ RegisterNUICallback('success', function(_, cb)
end)
else
SendNUIMessage({
action = "kekw",
action = 'kekw',
})
end
cb('ok')
end)

function LockpickDoorAnim(time)
time = time / 1000
loadAnimDict("veh@break_in@0h@p_m_one@")
TaskPlayAnim(PlayerPedId(), "veh@break_in@0h@p_m_one@", "low_force_entry_ds" ,3.0, 3.0, -1, 16, 0, false, false, false)
loadAnimDict('veh@break_in@0h@p_m_one@')
TaskPlayAnim(PlayerPedId(), 'veh@break_in@0h@p_m_one@', 'low_force_entry_ds', 3.0, 3.0, -1, 16, 0, false, false, false)
openingDoor = true
CreateThread(function()
while openingDoor do
TaskPlayAnim(PlayerPedId(), "veh@break_in@0h@p_m_one@", "low_force_entry_ds", 3.0, 3.0, -1, 16, 0, 0, 0, 0)
TaskPlayAnim(PlayerPedId(), 'veh@break_in@0h@p_m_one@', 'low_force_entry_ds', 3.0, 3.0, -1, 16, 0, 0, 0, 0)
Wait(2000)
time = time - 2
TriggerServerEvent('qb-storerobbery:server:takeMoney', currentRegister, false)
if time <= 0 then
openingDoor = false
StopAnimTask(PlayerPedId(), "veh@break_in@0h@p_m_one@", "low_force_entry_ds", 1.0)
StopAnimTask(PlayerPedId(), 'veh@break_in@0h@p_m_one@', 'low_force_entry_ds', 1.0)
end
end
currentRegister = 0
end)
end

RegisterNUICallback('callcops', function(_, cb)
TriggerEvent("police:SetCopAlert")
TriggerEvent('police:SetCopAlert')
cb('ok')
end)

Expand All @@ -325,14 +306,14 @@ RegisterNetEvent('SafeCracker:EndMinigame', function(won)
if currentSafe ~= 0 then
if not Config.Safes[currentSafe].robbed then
SetNuiFocus(false, false)
TriggerServerEvent("qb-storerobbery:server:SafeReward", currentSafe)
TriggerServerEvent("qb-storerobbery:server:setSafeStatus", currentSafe)
TriggerServerEvent('qb-storerobbery:server:SafeReward', currentSafe)
TriggerServerEvent('qb-storerobbery:server:setSafeStatus', currentSafe)
currentSafe = 0
takeAnim()
end
else
SendNUIMessage({
action = "kekw",
action = 'kekw',
})
end
end
Expand All @@ -344,12 +325,12 @@ RegisterNUICallback('PadLockSuccess', function(_, cb)
if currentSafe ~= 0 then
if not Config.Safes[currentSafe].robbed then
SendNUIMessage({
action = "kekw",
action = 'kekw',
})
end
else
SendNUIMessage({
action = "kekw",
action = 'kekw',
})
end
cb('ok')
Expand All @@ -361,27 +342,27 @@ RegisterNUICallback('PadLockClose', function(_, cb)
cb('ok')
end)

RegisterNUICallback("CombinationFail", function(_, cb)
PlaySound(-1, "Place_Prop_Fail", "DLC_Dmod_Prop_Editor_Sounds", 0, 0, 1)
cb("ok")
RegisterNUICallback('CombinationFail', function(_, cb)
PlaySound(-1, 'Place_Prop_Fail', 'DLC_Dmod_Prop_Editor_Sounds', 0, 0, 1)
cb('ok')
end)

RegisterNUICallback('fail', function(_ ,cb)
RegisterNUICallback('fail', function(_, cb)
if usingAdvanced then
if math.random(1, 100) < 20 then
TriggerServerEvent("qb-storerobbery:server:removeAdvancedLockpick")
TriggerEvent('inventory:client:ItemBox', QBCore.Shared.Items["advancedlockpick"], "remove")
TriggerServerEvent('qb-storerobbery:server:removeAdvancedLockpick')
TriggerEvent('inventory:client:ItemBox', QBCore.Shared.Items['advancedlockpick'], 'remove')
end
else
if math.random(1, 100) < 40 then
TriggerServerEvent("qb-storerobbery:server:removeLockpick")
TriggerEvent('inventory:client:ItemBox', QBCore.Shared.Items["lockpick"], "remove")
TriggerServerEvent('qb-storerobbery:server:removeLockpick')
TriggerEvent('inventory:client:ItemBox', QBCore.Shared.Items['lockpick'], 'remove')
end
end
if (IsWearingGloves() and math.random(1, 100) <= 25) then
if (not QBCore.Functions.IsWearingGloves() and math.random(1, 100) <= 25) then
local pos = GetEntityCoords(PlayerPedId())
TriggerServerEvent("evidence:server:CreateFingerDrop", pos)
QBCore.Functions.Notify(Lang:t("error.you_broke_the_lock_pick"))
TriggerServerEvent('evidence:server:CreateFingerDrop', pos)
QBCore.Functions.Notify(Lang:t('error.you_broke_the_lock_pick'))
end
lockpick(false)
cb('ok')
Expand All @@ -396,32 +377,32 @@ RegisterNUICallback('TryCombination', function(data, cb)
QBCore.Functions.TriggerCallback('qb-storerobbery:server:isCombinationRight', function(combination)
if tonumber(data.combination) ~= nil then
if tonumber(data.combination) == combination then
TriggerServerEvent("qb-storerobbery:server:SafeReward", currentSafe)
TriggerServerEvent("qb-storerobbery:server:setSafeStatus", currentSafe)
TriggerServerEvent('qb-storerobbery:server:SafeReward', currentSafe)
TriggerServerEvent('qb-storerobbery:server:setSafeStatus', currentSafe)
SetNuiFocus(false, false)
SendNUIMessage({
action = "closeKeypad",
action = 'closeKeypad',
error = false,
})
currentSafe = 0
takeAnim()
else
TriggerEvent("police:SetCopAlert")
TriggerEvent('police:SetCopAlert')
SetNuiFocus(false, false)
SendNUIMessage({
action = "closeKeypad",
action = 'closeKeypad',
error = true,
})
currentSafe = 0
end
end
cb("ok")
cb('ok')
end, currentSafe)
end)

RegisterNetEvent('qb-storerobbery:client:setRegisterStatus', function(batch, val)
-- Has to be a better way maybe like adding a unique id to identify the register
if(type(batch) ~= "table") then
if (type(batch) ~= 'table') then
Config.Registers[batch] = val
else
for k in pairs(batch) do
Expand All @@ -435,9 +416,9 @@ RegisterNetEvent('qb-storerobbery:client:setSafeStatus', function(safe, bool)
end)

RegisterNetEvent('qb-storerobbery:client:robberyCall', function(_, _, _, coords)
if (PlayerJob.name == "police" or PlayerJob.type == "leo") and onDuty then
PlaySound(-1, "Lose_1st", "GTAO_FM_Events_Soundset", 0, 0, 1)
TriggerServerEvent('police:server:policeAlert', Lang:t("email.storerobbery_progress"))
if (PlayerJob.name == 'police' or PlayerJob.type == 'leo') and onDuty then
PlaySound(-1, 'Lose_1st', 'GTAO_FM_Events_Soundset', 0, 0, 1)
TriggerServerEvent('police:server:policeAlert', Lang:t('email.storerobbery_progress'))

local transG = 250
local blip = AddBlipForCoord(coords.x, coords.y, coords.z)
Expand All @@ -447,7 +428,7 @@ RegisterNetEvent('qb-storerobbery:client:robberyCall', function(_, _, _, coords)
SetBlipAlpha(blip, transG)
SetBlipScale(blip, 1.0)
BeginTextCommandSetBlipName('STRING')
AddTextComponentSubstringPlayerName(Lang:t("email.shop_robbery"))
AddTextComponentSubstringPlayerName(Lang:t('email.shop_robbery'))
EndTextCommandSetBlipName(blip)
while transG ~= 0 do
Wait(180 * 4)
Expand Down
Loading

0 comments on commit 7088a33

Please sign in to comment.