zeromeia06 Posted October 12, 2023 Share Posted October 12, 2023 (edited) Olá, bom dia. Preciso de ajuda em um código relacionado a um sistema de SAMU, o que acontece.. no meu sistema não quero que o jogador morra, ele deve ficar desanimado e ao acabar o tempo, ele morre. Porém há alguns problemas: 1° quando muitos tiros são disparados rapidamente, o jogador recebe dano mais rápido do que o código do servidor pode reagir para torná-lo desanimado, ai quando dá muito tiro o cara não chega nem a ficar desanimado e morre na hora 2° tem algum jeito de ao jogador morrer, ele ficar desanimado? (exemplo setar vida 0 para ele ficar desanimado automaticamente) sem sequer morrer primeiro? function getHealthPlayers() for i, player in ipairs(getElementsByType('player')) do if getElementHealth(player) >= 0 and getElementHealth(player) < 30 then if getElementData(player, 'Derrubado') == false then setElementFrozen(player, true) setElementData(player, "Derrubado", true) removePedFromVehicle(player) setPedAnimation(player, "SWEET", "Sweet_injuredloop", -1, false, false, false, true) triggerClientEvent(player, 'openPainel_Morte', root) Tempo_Reanimar = setTimer(function() if getElementData(player, "Derrubado") == true then killPed(player) setElementFrozen(player, false) setElementData(player, "Derrubado", false) end end, 60000, 1) end end if getElementHealth(player) > 30 and getElementData(player, "Derrubado") == true then setElementData(player, "Derrubado", false) setPedAnimation(player, false) setElementFrozen(player, false) triggerClientEvent(player, "closePainel_Morte", root) end end end setTimer(getHealthPlayers, 50, 0) Edited October 13, 2023 by Lord Henry Código convertido de texto para Lua. Link to comment
Boechat Posted October 30, 2023 Share Posted October 30, 2023 Não recomendo que você faça com timer infinito, o desempenho não fica legal. Você pode usar a função onPlayerDamage e checar se o dano será fatal, se for, você cancela o dano, derruba o player e faz todo o resto... function playerDamage ( attacker, weapon, bodypart, loss ) if ((getElementHealth(source) - loss) <= 0) then cancelEvent() --Faz a animação etc... end end addEventHandler ( "onPlayerDamage", root, playerDamage ) Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now