Doongogar Posted February 25, 2023 Share Posted February 25, 2023 eu fiz um sistema pra quando alguem morrer ficar 7 segundos com a colisão em false em relação aos outros players usando a função setElementCollidableWith para que os players não fiquem presos uns nos outros no local aonde spawna após a morte pórem eu queria modificar isso para o player morrer e então setar a colisão em false, e quando ele saisse de dentro do player setasse em true novamente, no caso teria que ter algo verificando se existe algum player em colisão para setar em false a principio, podem ajudar? Link to comment
Other Languages Moderators Lord Henry Posted February 25, 2023 Other Languages Moderators Share Posted February 25, 2023 Mais fácil vc simplesmente criar um marker na posição do respawn. Quem sair do marker volta a ter colisão normal. Link to comment
Doongogar Posted April 1, 2023 Author Share Posted April 1, 2023 (edited) desculpa a grande demora, esqueci desse tópico eu fiz dessa forma, porém de vez enquando os players ficam incolidivéis uns pros outros mesmo ai sair do marker não existe uma forma de verificar se o player se mantém no marker? MarkerHP = createMarker(326.28860473633, -1514.2705078125, 36.0390625 - 1, "cylinder", 5, 255, 255, 255, 20) function MorteColisaoDesabilitar() for i, players in ipairs(getElementsByType("player")) do if players ~= getLocalPlayer() then setElementCollidableWith(getLocalPlayer(), players, false) end end end addEventHandler("onClientMarkerHit", MarkerHP, MorteColisaoDesabilitar) function MorteColisaoHabilitar() for i, players in ipairs(getElementsByType("player")) do if players ~= getLocalPlayer() then setElementCollidableWith(getLocalPlayer(), players, true) end end end addEventHandler("onClientMarkerLeave", MarkerHP, MorteColisaoHabilitar) Edited April 1, 2023 by SciptNovato Link to comment
Other Languages Moderators Lord Henry Posted April 2, 2023 Other Languages Moderators Share Posted April 2, 2023 (edited) Você precisa verificar se o player que entrou/saiu do marker é o localPlayer, senão quando um outro player aleatório entrar num marker, vai ativar neste client também e no client dos outros. Também dá pra juntar as duas funções numa só, já que são quase iguais e só mudam 1 linha. MarkerHP = createMarker(326.289, -1514.27, 36.039 - 1, "cylinder", 5, 255, 255, 255, 20) -- Não é necessário coordenadas com mais de 3 decimais. function MorteColisaoDesabilitar(thePlayer) if thePlayer == localPlayer then -- Evita de ativar essa função quando outro jogador próximo entrar/sair do marker. for _, players in pairs(getElementsByType("player")) do -- Não é necessário o loop ser com ipairs, pois a ordem dos players não importa nem seu índice. if players ~= localPlayer then -- Evita de mexer na colisão de si mesmo contra si mesmo. if eventName == "onClientMarkerHit" then -- As funções dos dois eventos fazem quase a mesma coisa, então diferenciamos apenas aqui. setElementCollidableWith(localPlayer, players, false) elseif eventName == "onClientMarkerLeave" then -- Aqui poderia ser apenas um else, mas deixei assim para facilitar o entendimento. setElementCollidableWith(localPlayer, players, true) end end end end end addEventHandler("onClientMarkerHit", MarkerHP, MorteColisaoDesabilitar) addEventHandler("onClientMarkerLeave", MarkerHP, MorteColisaoDesabilitar) Edited April 2, 2023 by Lord Henry 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