Editable Files
events-client.lua
--Lock unlock car Event
RegisterNetEvent('tgiann-hotwire:lockUnlock')
AddEventHandler('tgiann-hotwire:lockUnlock', function()
lockUnlock()
end)
--QB Event
RegisterNetEvent('vehiclekeys:client:SetOwner')
AddEventHandler('vehiclekeys:client:SetOwner', function(plate)
TriggerEvent("tgiann-carlock:addPlate", plate, true)
end)
--Some users use a different hotwire that's for it
RegisterNetEvent('x-hotwire:give-keys')
AddEventHandler('x-hotwire:give-keys', function(car)
TriggerEvent("tgiann-arackilit:addPlate", GetVehicleNumberPlateText(car), true)
end)
--qb-smallresources/server/consumables.lua use lockpick item (lockpick)
RegisterNetEvent('lockpicks:UseLockpick')
AddEventHandler('lockpicks:UseLockpick', function(car)
TriggerEvent("tgiann-hotwire:lockpickOutSide")
end)
editable-client.lua
PlayerData = {}
plateList = {}
tgiCore = nil
CreateThread(function()
while tgiCore == nil do
tgiCore = tgiCoreExports:getCore()
Wait(200)
end
end)
RegisterNetEvent('tgiCore:Client:OnPlayerLoaded')
AddEventHandler('tgiCore:Client:OnPlayerLoaded', function(newPlayerData)
PlayerData = newPlayerData
end)
RegisterNetEvent('tgiCore:Client:OnJobUpdate')
AddEventHandler('tgiCore:Client:OnJobUpdate', function(newJob)
PlayerData.job = newJob
end)
function myCarsPlate()
tgiCore.cbFunction("tgiann-carlock:myCars", function(result)
plateList = result
for i=1, #plaka do
TriggerEvent("tgiann-carlock:addPlate", plaka[i].plate, true)
end
end)
tgiCore.cbFunction("tgiann-hotwire:getWiredVehicle", function(result)
for i=1, #result do
TriggerEvent("tgiann-carlock:addPlate", result[i], false)
end
end)
end
RegisterNetEvent('tgiann-hotwire:notify')
AddEventHandler('tgiann-hotwire:notify', function(msg, type, time)
tgiCore.notif(msg, type, time)
end)
function skillbar(time)
return exports["tgiann-skillbar"]:taskBar(time)
end
function Progressbar()
if config.framework == "esx" then
hassearched[vehiclePlate] = true
isActive = false
searchvehicle()
elseif config.framework == "qb" then
tgiCore.Progressbar("search", "Araç Aranıyor", 25000, false, true, { -- p1: menu name, p2: yazı, p3: ölü iken kullan, p4:iptal edilebilir
disableMovement = true,
disableCarMovement = true,
disableMouse = false,
disableCombat = true,
}, {}, {}, {}, function() -- Done
hassearched[vehiclePlate] = true
isActive = false
searchvehicle()
end, function() -- Cancel
isActive = false
tgiCore.notif('Aracı Aramayı İptal Ettin!')
end)
end
end
function lockpickOutSideSkillBar()
if math.random(1,100) < config.policeAlertPercent and config.policeAlert then config.policeAlertFunction() end
if math.random(1,100) < config.removeLockPickPercent then TriggerServerEvent('tgiann-hotwire:removeLockPick') end
local finished = skillbar(25000)
if not finished then
return false
else
local finished2 = skillbar(14000)
if not finished2 then
return false
else
return true
end
end
end
function itemLockPickSkillBar()
local finished = skillbar(25000)
if not finished then
if math.random(1,100) < config.removeLockPickPercent then TriggerServerEvent('tgiann-hotwire:removeLockPick') end
return false
else
local finished2 = skillbar(4000)
if not finished2 then
if math.random(1,100) < config.removeLockPickPercent then TriggerServerEvent('tgiann-hotwire:removeLockPick') end
return false
else
local finished3 = skillbar(math.random(950,1250))
if not finished3 then
return false
else
return true
end
end
end
end
function hotwireSkillBar()
local finished = skillbar(30000)
if not finished then
return false
else
local finished2 = skillbar(2000)
if not finished2 then
return false
else
local finished3 = skillbar(1000)
if not finished3 then
return false
else
local finished4 = skillbar(4200)
if not finished4 then
return false
else
local finished5 = skillbar(1400)
if not finished5 then
return false
else
return true
end
end
end
end
end
end
function playSound()
TriggerServerEvent('InteractSound_SV:PlayWithinDistance', 3.0, 'lock', 0.1)
end
DrawText3D = function(x, y, z, text)
SetTextScale(0.30, 0.30)
SetTextFont(0)
SetTextProportional(1)
SetTextColour(255, 255, 255, 215)
SetTextEntry("STRING")
SetTextCentre(true)
AddTextComponentString(text)
SetDrawOrigin(x,y,z, 0)
DrawText(0.0, 0.0)
local factor = (string.len(text)) / 250
DrawRect(0.0, 0.0+0.0125, 0.017+ factor, 0.03, 0, 0, 0, 75)
ClearDrawOrigin()
end
CreateThread(function()
if config.test then
RegisterCommand("testGiveKey", function()
if inVeh then
TriggerEvent('tgiann-hotwire:give-keys-with-carid', GetVehiclePedIsIn(PlayerPedId()))
else
tgiCore.notif(config.text["notInCar"], "error")
end
end)
end
end)
events-client.lua
--Lock unlock car Event
RegisterNetEvent('tgiann-hotwire:lockUnlock')
AddEventHandler('tgiann-hotwire:lockUnlock', function()
lockUnlock()
end)
--QB Event
RegisterNetEvent('vehiclekeys:client:SetOwner')
AddEventHandler('vehiclekeys:client:SetOwner', function(plate)
TriggerEvent("tgiann-carlock:addPlate", plate, true)
end)
--Some users use a different hotwire that's for it
RegisterNetEvent('x-hotwire:give-keys')
AddEventHandler('x-hotwire:give-keys', function(car)
TriggerEvent("tgiann-arackilit:addPlate", GetVehicleNumberPlateText(car), true)
end)
--qb-smallresources/server/consumables.lua use lockpick item (lockpick)
RegisterNetEvent('lockpicks:UseLockpick')
AddEventHandler('lockpicks:UseLockpick', function(car)
TriggerEvent("tgiann-hotwire:lockpickOutSide")
end)
editable-server.lua
tgiCore = tgiCoreExports:getCore()
RegisterCommand(config.giveCarKeysCommand, function(source)
TriggerClientEvent('tgiann-hotwire:giveCarKeys', source)
end)
tgiCore.cbFunction('tgiann-carlock:myCars', function(source, cb)
local src = source
local xPlayer = tgiCore.getPlayer(src)
local queryData = config.framework == "esx" and 'SELECT plate FROM owned_vehicles WHERE owner = @id' or 'SELECT * FROM owned_vehicles WHERE citizenid = @id'
query(queryData, {
["@id"] = tgiCore.getCid(xPlayer)
}, function(data)
if data[1] then
cb(data)
end
end)
end)
if (config.framework == "qb" and not config.useQbSmallResources) or config.framework == "esx" then
tgiCore.CreateUseableItem(config.lockPickItemName, function(source, item)
TriggerClientEvent('tgiann-hotwire:lockpickOutSide', source)
end)
end
Last updated