Big Smoker Posted November 17, 2019 Share Posted November 17, 2019 PESSOAL QUERIA SABER COMO EU COMO COLOCAR UM HEATSHOT NO onClientPlayerWeaponFire Link to comment
Other Languages Moderators Lord Henry Posted November 17, 2019 Other Languages Moderators Share Posted November 17, 2019 (edited) Heatshot? Nunca ouvi falar disso. Edited November 17, 2019 by Lord Henry Link to comment
Big Smoker Posted November 17, 2019 Author Share Posted November 17, 2019 (edited) headshot EU FIZ UM SISTEMA A ONDE NAO USA O onClientPlayerDamage E SIM O onClientPlayerWeaponFire E PRECISAVA USAR UMA OPÇÃO QUE IDENTIFICA A CABEÇA DO PLAYER PARA EXECUTAR O headshot Edited November 17, 2019 by felipebaidoloko Link to comment
beast99 Posted November 17, 2019 Share Posted November 17, 2019 Para quê o uso de tanto CAPS-LOCK jovem? Parece que você está gritando com alguém aqui.. Link to comment
Big Smoker Posted November 17, 2019 Author Share Posted November 17, 2019 é que tava usando ele na função Link to comment
DNL291 Posted November 17, 2019 Share Posted November 17, 2019 https://wiki.multitheftauto.com/wiki/ProcessLineOfSight Tenha em mente que essa função é 'pesada', só use se realmente precisar ou se não se importa com performance. Link to comment
Big Smoker Posted November 17, 2019 Author Share Posted November 17, 2019 @DNL291 COMO QUE EU FAÇO PRA COLOCAR NESSA FUNÇÃO AQUI function tiro(wap,mag,ClipM,x,y,z,element) if getType(element) == "player" then dano, weapon = weaponDamage() triggerServerEvent("sincroniaSv", getLocalPlayer(), element, dano, weapon) end end end addEventHandler("onClientPlayerWeaponFire", getLocalPlayer(), tiro) queria colocar ai pra identificar a onde foi pego, se foi no Torso ou Head @DNL291 COMO QUE EU FAÇO PRA COLOCAR NESSA FUNÇÃO AQUI function tiro(wap,mag,ClipM,x,y,z,element) if getType(element) == "player" then dano, weapon = weaponDamage() triggerServerEvent("sincroniaSv", getLocalPlayer(), element, dano, weapon) end end end addEventHandler("onClientPlayerWeaponFire", getLocalPlayer(), tiro) queria colocar ai pra identificar a onde foi pego, se foi no Torso ou Head local x,y,z,xx,xy,xz,_,_,torso = processLineOfSight(startX, startY, startZ, hitX, hitY, hitZ,false,false,true) Link to comment
Big Smoker Posted November 17, 2019 Author Share Posted November 17, 2019 (edited) function tiro(wap,mag,ClipM,hitX, hitY, hitZ,element,startX, startY, startZ) if element then if getType(element) == "player" then local x,y,z,xx,xy,xz,_,_,torso = processLineOfSight(hitX, hitY, hitZ,startX, startY, startZ,false,false,true) if torso == 9 then outputChatBox("OK!!!!") else outputChatBox("NAO OK!!!!") end end end end addEventHandler("onClientPlayerWeaponFire", getLocalPlayer(), tiro) Edited November 17, 2019 by Lord Henry Corrigida formatação de texto para Lua. Link to comment
MRXBBC Posted November 18, 2019 Share Posted November 18, 2019 2 hours ago, felipebaidoloko said: function tiro(wap,mag,ClipM,hitX, hitY, hitZ,element,startX, startY, startZ) if element then if getType(element) == "player" then local x,y,z,xx,xy,xz,_,_,torso = processLineOfSight(hitX, hitY, hitZ,startX, startY, startZ,false,false,true) if torso == 9 then outputChatBox("OK!!!!") else outputChatBox("NAO OK!!!!") end end end end addEventHandler("onClientPlayerWeaponFire", getLocalPlayer(), tiro) Mano tem um codigo assim, n sei se já conseguiu resolver o problema function sendHeadshot ( attacker, weapon, bodypart, loss ) if attacker == getLocalPlayer() then if bodypart == 9 then triggerServerEvent( "onServerHeadshot", getRootElement(), source, attacker, weapon, loss ) setElementHealth ( source, 0 ) setPedHeadless( source, true ) end end end addEventHandler ( "onClientPedDamage", getRootElement(), sendHeadshot ) addEventHandler ( "onClientPlayerDamage", getRootElement(), sendHeadshot ) Link to comment
DNL291 Posted November 18, 2019 Share Posted November 18, 2019 Você quer setar o dano server-side, certo? Você pode fazer com onClientPlayerDamage. Não precisa ser no mesmo evento mencionado. Link to comment
Big Smoker Posted November 18, 2019 Author Share Posted November 18, 2019 eu preciso usar o addEventHandler("onClientPlayerWeaponFire" nao o "onClientPlayerDamage" Link to comment
Big Smoker Posted November 20, 2019 Author Share Posted November 20, 2019 (edited) podem me ajuda? preciso identificar o tiro na cabeça do jogador fiz certo ela? mas nao da certo function tiro(wap,mag,ClipM,hitX, hitY, hitZ,element,startX, startY, startZ) local x,y,z,xx,xy,xz,_,_,torso = processLineOfSight(startX, startY, startZ, hitX, hitY, hitZ,false,false,true) if torso == 9 then -- COM HS else -- SEM HS end end addEventHandler("onClientPlayerWeaponFire", getLocalPlayer(), tiro) Edited November 20, 2019 by felipebaidoloko Link to comment
Other Languages Moderators Lord Henry Posted November 20, 2019 Other Languages Moderators Share Posted November 20, 2019 (edited) Faltou a primeira variável retornada pelo processLineOfSight. O primeiro valor retornado é um booleano que indica se a linha colidiu em algo, o segundo valor dai sim é o X onde a linha colidiu. Outra coisa: Você definiu pra ele não detectar construções, ou seja, atravessar por elas até encontrar um jogador. Isso significa que se um jogador mirar na cabeça de outro jogador e atirar através de uma parede, vai considerar como HeadShot. local hit, x, y, z, hitElement, xx, yy, zz, _, _, piece = processLineOfSight (startX, startY, startZ, hitX, hitY, hitZ, true, false) -- Não precisa declarar a detecção de players como true, pois ela já é true por padrão. Só declare se for usar como false ou então se for usar algum parâmetro seguinte. if (hit) then -- Se a linha colidiu em algo, então: (caso contrário, todas as demais variáveis serão nil) if (getElementType (hitElement) == "player") then -- Se o elemento em que a linha colidiu for um jogador, então: if (piece == 9) then -- Se a linha colidiu na cabeça desse jogador, então: -- Com HS. else -- Sem HS. end end end Edited November 20, 2019 by Lord Henry 1 Link to comment
Big Smoker Posted November 20, 2019 Author Share Posted November 20, 2019 2 hours ago, Lord Henry said: Faltou a primeira variável retornada pelo processLineOfSight. O primeiro valor retornado é um booleano que indica se a linha colidiu em algo, o segundo valor dai sim é o X onde a linha colidiu. Outra coisa: Você definiu pra ele não detectar construções, ou seja, atravessar por elas até encontrar um jogador. Isso significa que se um jogador mirar na cabeça de outro jogador e atirar através de uma parede, vai considerar como HeadShot. local hit, x, y, z, hitElement, xx, yy, zz, _, _, piece = processLineOfSight (startX, startY, startZ, hitX, hitY, hitZ, true, false) -- Não precisa declarar a detecção de players como true, pois ela já é true por padrão. Só declare se for usar como false ou então se for usar algum parâmetro seguinte. if (hit) then -- Se a linha colidiu em algo, então: (caso contrário, todas as demais variáveis serão nil) if (getElementType (hitElement) == "player") then -- Se o elemento em que a linha colidiu for um jogador, então: if (piece == 9) then -- Se a linha colidiu na cabeça desse jogador, então: -- Com HS. else -- Sem HS. end end end Eu tinha conseguido, fui atras do forum como funcionava essa função, e foi igual o que vc sitou a cima OBRIGADO Link to comment
Big Smoker Posted November 21, 2019 Author Share Posted November 21, 2019 estou com um problema nela, nao ta funcionando 100% eu coloco o hitElement ele pega as vezes o tiro fiz ate um teste aqui mais quando uso o element da função ele funciona certinho addEventHandler("onClientPlayerWeaponFire", getLocalPlayer(), function(wap,mag,ClipM,x,y,z,element,startX, startY, startZ) hitElement, x, y, z, elementHit, nx, ny, nz, mat, light, bodypart = processLineOfSight ( startX, startY, startZ, x, y, z, false, false, true) if (hitElement) then if (getElementType (element) == "player") then if bodypart == 9 then outputChatBox("HEADSHOT") else outputChatBox("Acerto") end end else outputChatBox("FORA DO HIT") end end) ELE APARECE A MENSAGEM "FORA DO HIT" e tipo quero que ele pega certeiro o HS e no peito sem que apareça o "FORA DO HIT" ele falha as vezes ele fica como nil 1 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