0

我想在以下代码中添加一个计时器(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)
4

1 回答 1

0

在线程之外添加一个变量。本地定时器 = 0

然后添加另一个线程,该线程将在值大于 0 时启动计时器。

Citizen.CreateThread(function() while true do Citizen.Wait(0) if Timer > 0 then Timer = Timer - 1 Citizen.Wait(1000) end end end)

然后只需将变量添加到您需要它的条件语句和设置计时器的位置。如果您希望线程一遍又一遍地运行,但最后有一个计时器,您可以使用 Citizen.Wait() ,这样它就不会立即重新启动。Citizen.Wait(毫秒)。

于 2019-12-09T13:09:28.513 回答