Jump to content

[SCRIPT] Taser


Recommended Posts

Olá pessoal, gostaria de uma ajuda, eu estou editando um script de Taser e encontrei os seguintes problemas:

- O jogador fica freezado, porem não inicia a animação;

- O Jogador inicia a animação porem não fica freezado;

Também tentei bloquear as teclas com "onClientKey", e uma tabela com todas as teclas seguido de um cancelEvent(), pra evitar que o mesmo burle a animação, ou simplesmente se mova enquanto está caido. Para fazer isso eu fiz um script para pegar onde foi o tiro no jogador utilizando a função "onClientPlayerDamage" e "onClientPedDamage". Deixando de lado as animações diferentes eu fiz uma função para trigar o evento do lado server:

-- Freezar Player que Tomou Taser --
function playerTased(source)
        setPedFrozen(source, true) 
        toggleAllControls(source, false, false, false)
    setTimer(function()
        setPedFrozen(source, false) 
        toggleAllControls(source, true, true, true) 
    end, 5000, 1)
end
addEvent("onPlayerTased", true)
addEventHandler("onPlayerTased", getRootElement(), playerTased)

E passei do lado client chamando o evento da seguinte forma:

triggerServerEvent("onPlayerTased", localPlayer, source)
setPedAnimation(source, "ped", "KO_shot_face", 10000, false, true, false)

A minha duvida é a seguinte, tem alguma forma de eu forçar o Freeze com o cara no chão no final da animação? Existe alguma outra função que possa me ajudar, porque sendo um servidor RP, não tem como eu deixar o cara ter a possibilidade de se mover ou até mesmo atirar, que é esse um dos outros problemas, quando a animação não acontece, o jogador ainda consegue atirar, mesmo quando eu usei o cancelEvent() e o For com as keys.
 

 

 

Link to comment
9 hours ago, Tommy. said:

Se eu não me engano(posso estar enganado.) Quando você freeza um player a animação é cancelada. O que você pode fazer, ao invés de usar freeze você desativar pra ele conseguir andar.

toggleControl

Então Tommy, obrigado por responder, mas no exemplo de código acima eu já uso o toggleAllControls e ja tentei usar o toggleControl, porem o jogador continua conseguindo cancelar a animação e se movimentar. Teria alguma outra opção pra frezzar ou proibir o mesmo de realizar qualquer ação, porque eu já tentei bloquear os 3 tipos de controle e mesmo assim não adiantou.

Edited by .Dev
Link to comment
  • 2 months later...

você pode usar no server-side

 

function setTaserAnim(group, anim)
    for _, player in pairs(getElementsByType("player", root, true)) do
		setPedAnimation(source, group, anim, -1, false, false, false)
        setTimer(setPedAnimation, 10000, 1, source)   
        setElementData(source, "Taser", true) 
        setTimer(function()
            setElementData(player, "Taser", false)
        end, 10000, 1 ) 
        end   
	end
end
addEvent("setTaserAnim", true)
addEventHandler("setTaserAnim", root, setTaserAnim)

e no client

addEventHandler("onClientKey", root, 
    function (button, press)
        if getElementData(getLocalPlayer(),"Taser") then
            if button == "F1" or button == "F2" or button == "F3" or button == "F4" or button == "F5" or button == "F6" or button == "t" or button == "m" or button == "x" or button == "u" or button == "i" or button == "o" or button == "b" or button == "x" or button == "mouse2" or button == "F9" then
                cancelEvent()
            end
        end
    end
)


cFunc["anim_check"] = function(attacker, wep)
	if isElement(attacker) and getElementType(attacker) == "player" then
		if wep == 23 then
			cancelEvent()
			triggerServerEvent("setTaserAnim", source, "CRACK", "crckdeth2")
		end	
	end
end
addEventHandler("onClientPlayerDamage", root, cFunc["anim_check"])

 

Edited by THG
Link to comment

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...