Jump to content

No damage within marker


goofie88

Recommended Posts

Yes it worked when client side but I have my marker in server side and everything is based on server side so actually it didnt really work
addEventHandler("onClientPlayerDamage", root, 
function(attacker, weapon, bodypart, loss) 
if (isElementWithinMarker(source, theMarker)) then 
cancelEvent() 
end 
end 
) 

Line 4 --> Replace theMarker with your marker name .

-- Server 
addEventHandler( "onMarkerHit", root, 
    function ( player ) 
        if ( getElementType ( player ) == "player" ) then 
            triggerClientEvent( "onClientPlayerDamage", getRootElement( ), player ) 
        end 
    end 
) 

Line 2 --> Replace root with your marker name .

Link to comment
Yes it worked when client side but I have my marker in server side and everything is based on server side so actually it didnt really work
addEventHandler("onClientPlayerDamage", root, 
function(attacker, weapon, bodypart, loss) 
if (isElementWithinMarker(source, theMarker)) then 
cancelEvent() 
end 
end 
) 

Line 4 --> Replace theMarker with your marker name .

-- Server 
addEventHandler( "onMarkerHit", root, 
    function ( player ) 
        if ( getElementType ( player ) == "player" ) then 
            triggerClientEvent( "onClientPlayerDamage", getRootElement( ), player ) 
        end 
    end 
) 

Line 2 --> Replace root with your marker name .

Wrong,The code is not complete .

Link to comment

I had some errors like Mr.Pres[T]ege said, That why it didn't work :{

But i tried to fix it and i came up with this code :P :

-- Server : 
  
marker = creatMarker( X, Y, Z, "cylinder" ) 
  
addEventHandler( "onMarkerHit", marker,  
    function ( player ) 
        if ( getElementType ( player ) == "player" ) then 
            if isElementWithinMarker ( player, marker ) then 
                triggerClientEvent( "onClientPlayerDamage", getRootElement( ), player ) 
            end 
        end 
    end 
) 
  
-- Client : 
  
addEventHandler( "onClientPlayerDamage", root, 
    function ( player ) 
        cancelEvent ( ) 
    end 
) 

fix any errors please ..

Link to comment
-- Server : 
  
marker = creatMarker( X, Y, Z, "cylinder" ) 
  
addEventHandler( "onMarkerHit", marker, 
    function ( player ) 
        if ( getElementType ( player ) == "player" ) then 
            if isElementWithinMarker ( player, marker ) then 
                triggerClientEvent( "onClientPlayerDamage", getRootElement( ), player ) 
            else 
                cancelEvent( "onClientPlayerDamage", true ) 
            end 
        end 
    end 
) 
  
  
-- Client : 
  
addEventHandler( "onClientPlayerDamage", root, 
    function ( player ) 
        cancelEvent ( ) 
    end 
) 
  

Link to comment
-- Server : 
  
marker = creatMarker( X, Y, Z, "cylinder" ) 
  
addEventHandler( "onMarkerHit", marker, 
    function ( player ) 
        if ( getElementType ( player ) == "player" ) then 
            if isElementWithinMarker ( player, marker ) then 
                triggerClientEvent( "onClientPlayerDamage", getRootElement( ), player ) 
            end 
        end 
    end 
) 
  
addEventHandler( "onMarkerLeave", marker, 
    function ( player ) 
        if ( getElementType ( player ) == "player" ) then 
            cancelEvent( "onClientPlayerDamage", true )  
        end 
    end 
) 
  
-- Client : 
  
addEventHandler( "onClientPlayerDamage", root, 
    function ( player ) 
        cancelEvent ( ) 
    end 
) 

Link to comment
Confuses me why you guys dont do it all serversided? Giving the element a data when he hits the marker and when he leave the marker removes it. Use onPlayerDamage and getElementData to check if the player should be hurt or not, if not then cancelEvent()

Done.

Because i have been told that you can't cancel onPlayerDamage event .

But if you meant any other way, Then make your code and lay it for us so we can learn :D

Link to comment
Confuses me why you guys dont do it all serversided? Giving the element a data when he hits the marker and when he leave the marker removes it. Use onPlayerDamage and getElementData to check if the player should be hurt or not, if not then cancelEvent()

Done.

Because i have been told that you can't cancel onPlayerDamage event .

But if you meant any other way, Then make your code and lay it for us so we can learn :D

  
marker = createMarker(x,y,z,"cylinder") 
  
function hitMarker(hitElement) 
if getElementType(hitElement) == "player" then 
setElementData(hitElement, "godmode", true) 
  
end 
end 
addEventHandler('onMarkerHit', marker, hitMarker) 
  
function leaveMarker(hitElement) 
if getElementType(hitElement) == "player" then 
removeElementData(hitElement, "godmode") 
  
end 
end 
addEventHandler('onMarkerLeave', marker, leaveMarker) 
  
  
  
client:: 
  
function onDamage() 
if getElementData(source, "godmode") then 
cancelEvent() 
end 
end 
addEventHandler('onClientPlayerDamage', getLocalPlayer, onDamage) 
  
  

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...