forked from Simnation/Main
Update cl_main.lua
This commit is contained in:
parent
ace67368d1
commit
a4033a5c26
1 changed files with 55 additions and 44 deletions
|
@ -7,6 +7,19 @@ local function IsPedMale(ped)
|
||||||
return GetEntityModel(ped) == `mp_m_freemode_01`
|
return GetEntityModel(ped) == `mp_m_freemode_01`
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- Funktion zum Vergleichen der aktuellen Brille mit einer Konfigurationsbrille
|
||||||
|
local function IsWearingGlasses(ped, glassesConfig)
|
||||||
|
local currentDrawable = GetPedPropIndex(ped, 1)
|
||||||
|
local currentTexture = GetPedPropTextureIndex(ped, 1)
|
||||||
|
|
||||||
|
return currentDrawable == glassesConfig.drawable and currentTexture == glassesConfig.texture
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Funktion zum Setzen einer Brille aus der Konfiguration
|
||||||
|
local function SetGlasses(ped, glassesConfig)
|
||||||
|
SetPedPropIndex(ped, 1, glassesConfig.drawable, glassesConfig.texture, true)
|
||||||
|
end
|
||||||
|
|
||||||
-- Funktion zum Deaktivieren aller Sichtmodi
|
-- Funktion zum Deaktivieren aller Sichtmodi
|
||||||
local function DisableAllVisionModes()
|
local function DisableAllVisionModes()
|
||||||
SetNightvision(false)
|
SetNightvision(false)
|
||||||
|
@ -20,14 +33,13 @@ RegisterCommand('toggleNV', function()
|
||||||
local ped = PlayerPedId()
|
local ped = PlayerPedId()
|
||||||
|
|
||||||
if QBCore.Functions.HasItem(Config.NVItem) then
|
if QBCore.Functions.HasItem(Config.NVItem) then
|
||||||
local currentGlasses = GetPedPropIndex(ped, 1)
|
|
||||||
local gender = IsPedMale(ped) and "male" or "female"
|
local gender = IsPedMale(ped) and "male" or "female"
|
||||||
|
local glasses = Config.Glasses[gender]
|
||||||
|
|
||||||
-- Prüfen, ob der Spieler eine der Brillen trägt
|
-- Prüfen, ob der Spieler eine der Brillen trägt
|
||||||
local canToggle = not Config.CheckHelmet
|
local canToggle = not Config.CheckHelmet
|
||||||
if Config.CheckHelmet then
|
if Config.CheckHelmet then
|
||||||
if currentGlasses == Config.Glasses[gender].up or
|
if IsWearingGlasses(ped, glasses.up) or IsWearingGlasses(ped, glasses.nvDown) then
|
||||||
currentGlasses == Config.Glasses[gender].nvDown then
|
|
||||||
canToggle = true
|
canToggle = true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -37,25 +49,25 @@ RegisterCommand('toggleNV', function()
|
||||||
if thermalMode > 0 then
|
if thermalMode > 0 then
|
||||||
SetSeethrough(false)
|
SetSeethrough(false)
|
||||||
thermalMode = 0
|
thermalMode = 0
|
||||||
-- Wenn die Brille runtergeklappt ist, klappe sie hoch
|
-- Wenn die Wärmebildbrille getragen wird, klappe sie hoch
|
||||||
if currentGlasses == Config.Glasses[gender].thermalDown then
|
if IsWearingGlasses(ped, glasses.thermalDown) then
|
||||||
SetPedPropIndex(ped, 1, Config.Glasses[gender].up, 0, true)
|
SetGlasses(ped, glasses.up)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Nachtsicht-Modus umschalten
|
-- Nachtsicht-Modus umschalten
|
||||||
if nvMode == 0 then
|
if nvMode == 0 then
|
||||||
-- Wenn die Brille hochgeklappt ist, klappe sie runter
|
-- Wenn die Brille hochgeklappt ist, klappe sie runter
|
||||||
if currentGlasses == Config.Glasses[gender].up then
|
if IsWearingGlasses(ped, glasses.up) then
|
||||||
SetPedPropIndex(ped, 1, Config.Glasses[gender].nvDown, 0, true)
|
SetGlasses(ped, glasses.nvDown)
|
||||||
end
|
end
|
||||||
QBCore.Functions.Notify('Nachtsicht aktiviert!')
|
QBCore.Functions.Notify('Nachtsicht aktiviert!')
|
||||||
SetNightvision(true)
|
SetNightvision(true)
|
||||||
nvMode = 1
|
nvMode = 1
|
||||||
else
|
else
|
||||||
-- Wenn die Brille runtergeklappt ist, klappe sie hoch
|
-- Wenn die Brille runtergeklappt ist, klappe sie hoch
|
||||||
if currentGlasses == Config.Glasses[gender].nvDown then
|
if IsWearingGlasses(ped, glasses.nvDown) then
|
||||||
SetPedPropIndex(ped, 1, Config.Glasses[gender].up, 0, true)
|
SetGlasses(ped, glasses.up)
|
||||||
end
|
end
|
||||||
QBCore.Functions.Notify('Nachtsicht deaktiviert!')
|
QBCore.Functions.Notify('Nachtsicht deaktiviert!')
|
||||||
SetNightvision(false)
|
SetNightvision(false)
|
||||||
|
@ -74,14 +86,13 @@ RegisterCommand('toggleThermal', function()
|
||||||
local ped = PlayerPedId()
|
local ped = PlayerPedId()
|
||||||
|
|
||||||
if QBCore.Functions.HasItem(Config.ThermalItem) then
|
if QBCore.Functions.HasItem(Config.ThermalItem) then
|
||||||
local currentGlasses = GetPedPropIndex(ped, 1)
|
|
||||||
local gender = IsPedMale(ped) and "male" or "female"
|
local gender = IsPedMale(ped) and "male" or "female"
|
||||||
|
local glasses = Config.Glasses[gender]
|
||||||
|
|
||||||
-- Prüfen, ob der Spieler eine der Brillen trägt
|
-- Prüfen, ob der Spieler eine der Brillen trägt
|
||||||
local canToggle = not Config.CheckHelmet
|
local canToggle = not Config.CheckHelmet
|
||||||
if Config.CheckHelmet then
|
if Config.CheckHelmet then
|
||||||
if currentGlasses == Config.Glasses[gender].up or
|
if IsWearingGlasses(ped, glasses.up) or IsWearingGlasses(ped, glasses.thermalDown) then
|
||||||
currentGlasses == Config.Glasses[gender].thermalDown then
|
|
||||||
canToggle = true
|
canToggle = true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -91,25 +102,25 @@ RegisterCommand('toggleThermal', function()
|
||||||
if nvMode > 0 then
|
if nvMode > 0 then
|
||||||
SetNightvision(false)
|
SetNightvision(false)
|
||||||
nvMode = 0
|
nvMode = 0
|
||||||
-- Wenn die Brille runtergeklappt ist, klappe sie hoch
|
-- Wenn die Nachtsichtbrille getragen wird, klappe sie hoch
|
||||||
if currentGlasses == Config.Glasses[gender].nvDown then
|
if IsWearingGlasses(ped, glasses.nvDown) then
|
||||||
SetPedPropIndex(ped, 1, Config.Glasses[gender].up, 0, true)
|
SetGlasses(ped, glasses.up)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Wärmebild-Modus umschalten
|
-- Wärmebild-Modus umschalten
|
||||||
if thermalMode == 0 then
|
if thermalMode == 0 then
|
||||||
-- Wenn die Brille hochgeklappt ist, klappe sie runter
|
-- Wenn die Brille hochgeklappt ist, klappe sie runter
|
||||||
if currentGlasses == Config.Glasses[gender].up then
|
if IsWearingGlasses(ped, glasses.up) then
|
||||||
SetPedPropIndex(ped, 1, Config.Glasses[gender].thermalDown, 0, true)
|
SetGlasses(ped, glasses.thermalDown)
|
||||||
end
|
end
|
||||||
QBCore.Functions.Notify('Wärmebild aktiviert!')
|
QBCore.Functions.Notify('Wärmebild aktiviert!')
|
||||||
SetSeethrough(true)
|
SetSeethrough(true)
|
||||||
thermalMode = 1
|
thermalMode = 1
|
||||||
else
|
else
|
||||||
-- Wenn die Brille runtergeklappt ist, klappe sie hoch
|
-- Wenn die Brille runtergeklappt ist, klappe sie hoch
|
||||||
if currentGlasses == Config.Glasses[gender].thermalDown then
|
if IsWearingGlasses(ped, glasses.thermalDown) then
|
||||||
SetPedPropIndex(ped, 1, Config.Glasses[gender].up, 0, true)
|
SetGlasses(ped, glasses.up)
|
||||||
end
|
end
|
||||||
QBCore.Functions.Notify('Wärmebild deaktiviert!')
|
QBCore.Functions.Notify('Wärmebild deaktiviert!')
|
||||||
SetSeethrough(false)
|
SetSeethrough(false)
|
||||||
|
@ -130,58 +141,58 @@ RegisterKeyMapping('toggleThermal', 'Wärmebild umschalten', 'keyboard', Config.
|
||||||
-- Event zum Umschalten der Brille
|
-- Event zum Umschalten der Brille
|
||||||
RegisterNetEvent('nightvision:toggleGlasses', function(mode)
|
RegisterNetEvent('nightvision:toggleGlasses', function(mode)
|
||||||
local ped = PlayerPedId()
|
local ped = PlayerPedId()
|
||||||
local currentGlasses = GetPedPropIndex(ped, 1)
|
|
||||||
local gender = IsPedMale(ped) and "male" or "female"
|
local gender = IsPedMale(ped) and "male" or "female"
|
||||||
|
local glasses = Config.Glasses[gender]
|
||||||
|
|
||||||
-- Alle Sichtmodi deaktivieren
|
-- Alle Sichtmodi deaktivieren
|
||||||
DisableAllVisionModes()
|
DisableAllVisionModes()
|
||||||
|
|
||||||
if mode == 'nightvision' then
|
if mode == 'nightvision' then
|
||||||
-- Wenn keine Brille getragen wird, setze hochgeklappte Version auf
|
-- Wenn keine der konfigurierten Brillen getragen wird, setze hochgeklappte Version auf
|
||||||
if currentGlasses ~= Config.Glasses[gender].up and
|
if not (IsWearingGlasses(ped, glasses.up) or
|
||||||
currentGlasses ~= Config.Glasses[gender].nvDown and
|
IsWearingGlasses(ped, glasses.nvDown) or
|
||||||
currentGlasses ~= Config.Glasses[gender].thermalDown then
|
IsWearingGlasses(ped, glasses.thermalDown)) then
|
||||||
SetPedPropIndex(ped, 1, Config.Glasses[gender].up, 0, true)
|
SetGlasses(ped, glasses.up)
|
||||||
QBCore.Functions.Notify('Nachtsichtbrille aufgesetzt!')
|
QBCore.Functions.Notify('Nachtsichtbrille aufgesetzt!')
|
||||||
-- Wenn hochgeklappte Brille getragen wird, klappe sie runter und aktiviere Nachtsicht
|
-- Wenn hochgeklappte Brille getragen wird, klappe sie runter und aktiviere Nachtsicht
|
||||||
elseif currentGlasses == Config.Glasses[gender].up then
|
elseif IsWearingGlasses(ped, glasses.up) then
|
||||||
SetPedPropIndex(ped, 1, Config.Glasses[gender].nvDown, 0, true)
|
SetGlasses(ped, glasses.nvDown)
|
||||||
QBCore.Functions.Notify('Nachtsicht aktiviert!')
|
QBCore.Functions.Notify('Nachtsicht aktiviert!')
|
||||||
SetNightvision(true)
|
SetNightvision(true)
|
||||||
nvMode = 1
|
nvMode = 1
|
||||||
-- Wenn runtergeklappte Brille getragen wird, klappe sie hoch und deaktiviere Nachtsicht
|
-- Wenn runtergeklappte Nachtsichtbrille getragen wird, klappe sie hoch und deaktiviere Nachtsicht
|
||||||
elseif currentGlasses == Config.Glasses[gender].nvDown then
|
elseif IsWearingGlasses(ped, glasses.nvDown) then
|
||||||
SetPedPropIndex(ped, 1, Config.Glasses[gender].up, 0, true)
|
SetGlasses(ped, glasses.up)
|
||||||
QBCore.Functions.Notify('Nachtsicht deaktiviert!')
|
QBCore.Functions.Notify('Nachtsicht deaktiviert!')
|
||||||
nvMode = 0
|
nvMode = 0
|
||||||
-- Wenn Wärmebildbrille getragen wird, wechsle zu Nachtsichtbrille
|
-- Wenn Wärmebildbrille getragen wird, wechsle zu Nachtsichtbrille
|
||||||
elseif currentGlasses == Config.Glasses[gender].thermalDown then
|
elseif IsWearingGlasses(ped, glasses.thermalDown) then
|
||||||
SetPedPropIndex(ped, 1, Config.Glasses[gender].nvDown, 0, true)
|
SetGlasses(ped, glasses.nvDown)
|
||||||
QBCore.Functions.Notify('Nachtsicht aktiviert!')
|
QBCore.Functions.Notify('Nachtsicht aktiviert!')
|
||||||
SetNightvision(true)
|
SetNightvision(true)
|
||||||
nvMode = 1
|
nvMode = 1
|
||||||
end
|
end
|
||||||
elseif mode == 'thermal' then
|
elseif mode == 'thermal' then
|
||||||
-- Wenn keine Brille getragen wird, setze hochgeklappte Version auf
|
-- Wenn keine der konfigurierten Brillen getragen wird, setze hochgeklappte Version auf
|
||||||
if currentGlasses ~= Config.Glasses[gender].up and
|
if not (IsWearingGlasses(ped, glasses.up) or
|
||||||
currentGlasses ~= Config.Glasses[gender].nvDown and
|
IsWearingGlasses(ped, glasses.nvDown) or
|
||||||
currentGlasses ~= Config.Glasses[gender].thermalDown then
|
IsWearingGlasses(ped, glasses.thermalDown)) then
|
||||||
SetPedPropIndex(ped, 1, Config.Glasses[gender].up, 0, true)
|
SetGlasses(ped, glasses.up)
|
||||||
QBCore.Functions.Notify('Wärmebildbrille aufgesetzt!')
|
QBCore.Functions.Notify('Wärmebildbrille aufgesetzt!')
|
||||||
-- Wenn hochgeklappte Brille getragen wird, klappe sie runter und aktiviere Wärmebild
|
-- Wenn hochgeklappte Brille getragen wird, klappe sie runter und aktiviere Wärmebild
|
||||||
elseif currentGlasses == Config.Glasses[gender].up then
|
elseif IsWearingGlasses(ped, glasses.up) then
|
||||||
SetPedPropIndex(ped, 1, Config.Glasses[gender].thermalDown, 0, true)
|
SetGlasses(ped, glasses.thermalDown)
|
||||||
QBCore.Functions.Notify('Wärmebild aktiviert!')
|
QBCore.Functions.Notify('Wärmebild aktiviert!')
|
||||||
SetSeethrough(true)
|
SetSeethrough(true)
|
||||||
thermalMode = 1
|
thermalMode = 1
|
||||||
-- Wenn runtergeklappte Wärmebildbrille getragen wird, klappe sie hoch und deaktiviere Wärmebild
|
-- Wenn runtergeklappte Wärmebildbrille getragen wird, klappe sie hoch und deaktiviere Wärmebild
|
||||||
elseif currentGlasses == Config.Glasses[gender].thermalDown then
|
elseif IsWearingGlasses(ped, glasses.thermalDown) then
|
||||||
SetPedPropIndex(ped, 1, Config.Glasses[gender].up, 0, true)
|
SetGlasses(ped, glasses.up)
|
||||||
QBCore.Functions.Notify('Wärmebild deaktiviert!')
|
QBCore.Functions.Notify('Wärmebild deaktiviert!')
|
||||||
thermalMode = 0
|
thermalMode = 0
|
||||||
-- Wenn Nachtsichtbrille getragen wird, wechsle zu Wärmebildbrille
|
-- Wenn Nachtsichtbrille getragen wird, wechsle zu Wärmebildbrille
|
||||||
elseif currentGlasses == Config.Glasses[gender].nvDown then
|
elseif IsWearingGlasses(ped, glasses.nvDown) then
|
||||||
SetPedPropIndex(ped, 1, Config.Glasses[gender].thermalDown, 0, true)
|
SetGlasses(ped, glasses.thermalDown)
|
||||||
QBCore.Functions.Notify('Wärmebild aktiviert!')
|
QBCore.Functions.Notify('Wärmebild aktiviert!')
|
||||||
SetSeethrough(true)
|
SetSeethrough(true)
|
||||||
thermalMode = 1
|
thermalMode = 1
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue