How to Integrate in other resources - GamingLuke1337/TokoVoIP GitHub Wiki
Integrating TokoVoIP into other Resources
QBCore
qb-hud
Integration
To integrate TokoVoIP with qb-hud
edit / add the following lines in your qb-hud
resource or use the pre-integrated fork:
https://github.com/GamingLuke1337/qb-hud
Note: May be outdated from the official
qb-hud
repo.
- Add this to your
config.lua
:
Config.TokoResource = "tokovoip_script"
Adjust the resource name if you are using a different one.
client.lua
file:
Now in the - Replace line 714 to 718:
local talking = NetworkIsPlayerTalking(playerId)
local voice = 0
if LocalPlayer.state['proximity'] then
voice = LocalPlayer.state['proximity'].distance
end
- With:
local talking = 0
if GetResourceState(Config.TokoResource) == "started" then
talking = exports[Config.TokoResource]:getPlayerData(GetPlayerServerId(PlayerId()), "voip:talking") or 0
else
talking = NetworkIsPlayerTalking(playerId)
end
local voice = 0
if GetResourceState(Config.TokoResource) == "started" then
voice = exports[Config.TokoResource]:getPlayerData(GetPlayerServerId(PlayerId()), "voip:mode") or 0
else
if LocalPlayer.state['proximity'] then
voice = LocalPlayer.state['proximity'].distance
end
end
- Replace line 714 to 841:
if not (IsPedInAnyVehicle(player) and not IsThisModelABicycle(vehicle)) then
updatePlayerHud({
show,
Menu.isDynamicHealthChecked,
Menu.isDynamicArmorChecked,
Menu.isDynamicHungerChecked,
Menu.isDynamicThirstChecked,
Menu.isDynamicStressChecked,
Menu.isDynamicOxygenChecked,
Menu.isDynamicEngineChecked,
Menu.isDynamicNitroChecked,
GetEntityHealth(player) - 100,
playerDead,
GetPedArmour(player),
thirst,
hunger,
stress,
voice,
LocalPlayer.state['radioChannel'],
talking,
armed,
oxygen,
parachute,
-1,
cruiseOn,
nitroActive,
harness,
hp,
math.ceil(GetEntitySpeed(vehicle) * speedMultiplier),
-1,
Menu.isCinematicModeChecked,
dev,
radioActive,
})
end
-- Vehicle hud
if IsPedInAnyHeli(player) or IsPedInAnyPlane(player) then
showAltitude = true
showSeatbelt = false
end
if IsPedInAnyVehicle(player) and not IsThisModelABicycle(vehicle) then
if not wasInVehicle then
DisplayRadar(true)
end
wasInVehicle = true
local engineHealth = GetVehicleEngineHealth(vehicle)
if engineHealth ~= engineHealth then -- This checks for NaN, as any NaN value is not equal to itself
engineHealth = 0
end
updatePlayerHud({
show,
Menu.isDynamicHealthChecked,
Menu.isDynamicArmorChecked,
Menu.isDynamicHungerChecked,
Menu.isDynamicThirstChecked,
Menu.isDynamicStressChecked,
Menu.isDynamicOxygenChecked,
Menu.isDynamicEngineChecked,
Menu.isDynamicNitroChecked,
GetEntityHealth(player) - 100,
playerDead,
GetPedArmour(player),
thirst,
hunger,
stress,
voice,
LocalPlayer.state['radioChannel'],
talking,
armed,
oxygen,
GetPedParachuteState(player),
nos,
cruiseOn,
nitroActive,
harness,
hp,
math.ceil(GetEntitySpeed(vehicle) * speedMultiplier),
(engineHealth / 10),
Menu.isCinematicModeChecked,
dev,
radioActive,
})
updateVehicleHud({
show,
IsPauseMenuActive(),
seatbeltOn,
math.ceil(GetEntitySpeed(vehicle) * speedMultiplier),
getFuelLevel(vehicle),
math.ceil(GetEntityCoords(player).z * 0.5),
showAltitude,
showSeatbelt,
showSquareB,
showCircleB,
})
showAltitude = false
showSeatbelt = true
else
if wasInVehicle then
wasInVehicle = false
SendNUIMessage({
action = 'car',
show = false,
seatbelt = false,
cruise = false,
})
seatbeltOn = false
cruiseOn = false
harness = false
end
DisplayRadar(Menu.isOutMapChecked)
end
else
SendNUIMessage({
action = 'hudtick',
show = false
})
end
end
end)
- With:
local radioChannel = 0
if GetResourceState(Config.TokoResource) == "started" then
radioChannel = exports[Config.TokoResource]:getPlayerData(GetPlayerServerId(PlayerId()), "radio:channel") or 0
else
radioChannel = LocalPlayer.state['radioChannel']
end
if not (IsPedInAnyVehicle(player) and not IsThisModelABicycle(vehicle)) then
updatePlayerHud({
show,
Menu.isDynamicHealthChecked,
Menu.isDynamicArmorChecked,
Menu.isDynamicHungerChecked,
Menu.isDynamicThirstChecked,
Menu.isDynamicStressChecked,
Menu.isDynamicOxygenChecked,
Menu.isDynamicEngineChecked,
Menu.isDynamicNitroChecked,
GetEntityHealth(player) - 100,
playerDead,
GetPedArmour(player),
thirst,
hunger,
stress,
voice,
radioChannel,
talking,
armed,
oxygen,
parachute,
-1,
cruiseOn,
nitroActive,
harness,
hp,
math.ceil(GetEntitySpeed(vehicle) * speedMultiplier),
-1,
Menu.isCinematicModeChecked,
dev,
radioActive,
})
end
-- Vehicle hud
if IsPedInAnyHeli(player) or IsPedInAnyPlane(player) then
showAltitude = true
showSeatbelt = false
end
if IsPedInAnyVehicle(player) and not IsThisModelABicycle(vehicle) then
if not wasInVehicle then
DisplayRadar(true)
end
wasInVehicle = true
local engineHealth = GetVehicleEngineHealth(vehicle)
if engineHealth ~= engineHealth then -- This checks for NaN, as any NaN value is not equal to itself
engineHealth = 0
end
updatePlayerHud({
show,
Menu.isDynamicHealthChecked,
Menu.isDynamicArmorChecked,
Menu.isDynamicHungerChecked,
Menu.isDynamicThirstChecked,
Menu.isDynamicStressChecked,
Menu.isDynamicOxygenChecked,
Menu.isDynamicEngineChecked,
Menu.isDynamicNitroChecked,
GetEntityHealth(player) - 100,
playerDead,
GetPedArmour(player),
thirst,
hunger,
stress,
voice,
radioChannel,
talking,
armed,
oxygen,
GetPedParachuteState(player),
nos,
cruiseOn,
nitroActive,
harness,
hp,
math.ceil(GetEntitySpeed(vehicle) * speedMultiplier),
(engineHealth / 10),
Menu.isCinematicModeChecked,
dev,
radioActive,
})
updateVehicleHud({
show,
IsPauseMenuActive(),
seatbeltOn,
math.ceil(GetEntitySpeed(vehicle) * speedMultiplier),
getFuelLevel(vehicle),
math.ceil(GetEntityCoords(player).z * 0.5),
showAltitude,
showSeatbelt,
showSquareB,
showCircleB,
})
showAltitude = false
showSeatbelt = true
else
if wasInVehicle then
wasInVehicle = false
SendNUIMessage({
action = 'car',
show = false,
seatbelt = false,
cruise = false,
})
seatbeltOn = false
cruiseOn = false
harness = false
end
DisplayRadar(Menu.isOutMapChecked)
end
else
SendNUIMessage({
action = 'hudtick',
show = false
})
end
end
end)