我想在以下代码(Lua)中添加一个计时器
CreateThread(function()
while true do
Wait(0)
--if IsControlPressed(1, 47) then -- G
local CitoyenCible, distance = getNearPlayer()
if (distance ~= -1 and distance < 1.5001) then
if IsPedArmed(GetPlayerPed(-1), 7) then
SetCurrentPedWeapon(GetPlayerPed(-1), GetHashKey('WEAPON_UNARMED'), true)
end
if (DoesEntityExist(GetPlayerPed(-1)) and not IsEntityDead(GetPlayerPed(-1))) then
ChargementAnimation("melee@unarmed@streamed_variations")
TaskPlayAnim(GetPlayerPed(-1), "melee@unarmed@streamed_variations", "plyr_takedown_front_slap", 8.0, 1.0, 1500, 1, 0, 0, 0, 0)
TriggerServerEvent("RebornProject:SyncGiffle", GetPlayerServerId(CitoyenCible))
end
else
TriggerEvent("RebornProject:Notification", Notif1)
end
end
end
end)
答案 0 :(得分:0)
在线程外添加变量。 本地计时器= 0
然后添加另一个线程,该线程将在值大于0时启动计时器。
Citizen.CreateThread(function() 虽然是真的 公民等待(0) 如果计时器> 0,则 计时器=计时器-1 公民等待(1000) 结束 结束 结束)
然后只需在条件需要的地方以及设置计时器的地方添加变量即可。如果您希望线程一次又一次地运行,但是在最后有一个计时器,这样就不会立即重新启动,则可以利用Citizen.Wait()。公民等待(毫秒)。