⭕Meters UI
Bu özellikler v1.61 ve daha yeni sürümlerde çalışır.
You can create 10 meters in same time. All meters run async.
Usable Functions
-- Retrieves meter data from the qadr_ui resource.
-- @return table The meter data.
local meterData = exports["qadr_ui"]:getMeterMain()
-- Clears all meter data.
-- @param meterData The meter data to be cleared.
meterData:clearAllMeter()
-- Adds a meter to the UI container using the provided meter data.
-- You can add up to 10 meters to the container at the same time.
local meter = meterData:addMeterToContainer(uiData)
-- Updates the meter with the given UI data.
-- @param uiData The data to update the meter with.
meter:updateMeter(uiData)
-- Sets a timer for 20 seconds and prints a message when the timer is complete.
-- @param meter The meter object to set the timer on.
-- @param iscomplete A boolean value indicating whether the timer is complete.
meter:SetTimer(second,function(iscomplete)
if iscomplete then
print("timer is complete")
else
print("fail")
end
end)
-- Pauses the timer of the meter.
-- @param meter The meter object to pause the timer of.
-- @return nil
meter:timerPause()
-- Resumes the timer of the given meter.
-- @param meter The meter to resume the timer of.
meter:timerResume()
-- Stops the timer of a meter object.
-- @param meter The meter object to stop the timer of.
-- @return nil
meter:timerStop()
-- Retrieves all active meters from the meterData object.
-- @return table A table containing all active meters.
local getallmeters = meterData:getActiveMeters()
for i,v in pairs(getallmeters) do
-- Retrieves the meter data for the given value 'v' using the 'meterData' object.
-- The retrieved data is stored in the 'meter' variable.
local meter = meterData:getMeter(v)
-- Pauses the timer of a meter object.
-- @param meter The meter object to pause the timer of.
-- @return nil
meter:timerPause()
print(v," paused")
Wait(5000)
-- Resumes the timer of the given meter.
-- @param meter The meter to resume the timer of.
meter:timerResume()
print(v," resumed")
end
Example
RegisterCommand("createMeter",function()
local uiData = {
imgColor = `COLOR_GREEN`,
isIconBackgroundVisible = 0,
meterColor = `COLOR_GREEN`,
meterValue = 1.0,
meterVisible = true,
overlayColor = `COLOR_GREEN`,
overlayTxd = "scoretimer_textures",
overlayTxn = "SCORETIMER_GENERIC_CROSS",
overlayVisible = false,
secondaryImgColor = `COLOR_PURE_WHITE`,
secondaryTxd = 0,
secondaryTxn = 0,
showAlternateIcons = 0,
showBlinkIcon = 0,
showPulse = 0,
txd = "blips",
txn = "blip_ambient_train",
visible = true,
}
local meterData = exports["qadr_ui"]:getMeterMain() -- you can get main meter container and use function
local meter = meterData:addMeterToContainer(uiData) -- you can add 10 meter to container same time
if meter then
meter:updateMeter(uiData)
meter:SetTimer(20,function(iscomplete)
print("iscomplete",iscomplete)
if iscomplete then
print("timer is complete")
end
end)
meter:timerPause()
uiData.imgColor = `COLOR_RED`
uiData.meterColor = `COLOR_RED`
uiData.overlayColor = `COLOR_RED`
uiData.secondaryImgColor = `COLOR_RED`
uiData.txd = "blips"
uiData.txn = "blip_fence_building"
uiData.secondaryTxd = "blips"
uiData.secondaryTxn = "blip_deadeye_cross"
uiData.showAlternateIcons = 1
uiData.showBlinkIcon = 1
uiData.showPulse = 1
meter:updateMeter(uiData)
Wait(5000)
meter:timerResume()
uiData.imgColor = `COLOR_YELLOW`
uiData.meterColor = `COLOR_YELLOW`
uiData.overlayColor = `COLOR_YELLOW`
uiData.secondaryImgColor = `COLOR_YELLOW`
uiData.txd = "menu_textures"
uiData.txn = "medal_bank_debt_bronze"
meter:updateMeter(uiData)
Wait(5000)
meter1:timerStop()
end
Wait(2000)
end)
Last updated