Jump to content

Sync HitMarker


Recommended Posts

Hola tengo un script que cuando le disparas a un zombie, auto o persona genera una X en donde disparastes en si para avisarte que si atinastes el tiro.. el problema es que esta mal... solo comprueba tu lado osea que tu le ayas dado, entonces queria editarlo para que al disparar la X no salga osea verifique si le distes... intente con un element data que cuando recibas daño te ponga el data y lo verifique con la otra mitad... nose si me explico pero no funciona... alguien me ayuda?

---------------------------------------------------------------------- 
-------  Script:  ------------- Visit: --------------- Made in ------- 
------- 7rust-Dev ---------7rust.bplaced.de----------- GERMANY ------- 
---------------------------------------------------------------------- 
  
local screenX, screenY 
local drawTimer 
local isDrawing 
local sound 
  
function drawHitMarker() 
    dxDrawImage(screenX-16, screenY-16, 32, 32, "hitmarker.png") 
     
end 
  
function fireFunc(weapon, ammo, ammoInClip, hitX, hitY, hitZ, hitElement) 
    if hitElement then 
        if (getElementType(hitElement)=="player" and getElementData(hitElement,"Hit") == true) or getElementType(hitElement)=="ped" or getElementType(hitElement)=="vehicle" then 
         
        screenX, screenY = getScreenFromWorldPosition(hitX, hitY, hitZ) 
        if not screenX then return end  
        if isDrawing then return end  
        isDrawing = true 
         
        local sound = playSound("hitmarker-sound.wav") 
        setSoundVolume( sound , 0.3) 
     
     
        addEventHandler("onClientRender", root, drawHitMarker)  
        if drawTimer and isTimer(drawTimer) then 
            killTimer(drawTimer) 
        end 
         
         
        drawTimer = setTimer(function()  
            isDrawing = false 
            removeEventHandler("onClientRender", root, drawHitMarker)  
        end, 500, 1) 
    end 
    end 
     
end--func 
addEventHandler("onClientPlayerWeaponFire", localPlayer, fireFunc) 
  
---------------------------------------------------------------------- 
-------  Script:  ------------- Visit: --------------- Made in ------- 
------- 7rust-Dev ---------7rust.bplaced.de----------- GERMANY ------- 
---------------------------------------------------------------------- 
  
function get_hit() 
            ---fadeCamera(false,1,255,0,0) 
            local hit_sound=playSound("hitmarker-sound.wav") 
            setSoundVolume(hit_sound,0.2) 
            setElementData(localPlayer,"Hit",true) 
        function cam() 
            setElementData(localPlayer,"Hit",false) 
        end 
        setTimer(cam,150,1) 
end 
  
  
addEventHandler("onClientPlayerDamage",getLocalPlayer(),get_hit) 
  
---------------------------------------------------------------------- 
-------  Script:  ------------- Visit: --------------- Made in ------- 
------- 7rust-Dev ---------7rust.bplaced.de----------- GERMANY ------- 
---------------------------------------------------------------------- 
  

Link to comment
mm no te entendí nada podrias explicarte mejor ?

Explico... cuando yo disparo se ejecuta "onClientPlayerWeaponFire" y si esa bala pega en un ped, user o auto me genera esta imagen en el punto del impacto

" dxDrawImage(screenX-16, screenY-16, 32, 32, "hitmarker.png")"

Ahi todo bien, el problema esta que por diferencias de ping yo puedo por ejemplo dispararte pero tu no recibes la bala, el script no verifica eso, lo que yo quiero es que algo asi como con un IF te pregunte ati si recibistes daño antes de que se genera la imagen... osea syncronizar las 2 partes. Esto poreque en ocaciones users les disparan a otros y al ver la X piensan que asetaron y no es cierto entonces se quejan de hack o abuser.

Link to comment
  • Recently Browsing   0 members

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