Jump to content

[Ayuda] Verificar onColShapeHit


Recommended Posts

Hola bueno lo que sucede es que uso este scrip para crear una zona Segura, el problema es que por ejemplo yo estoy en zona verde y ago logout y entro de nuevo la SafeZone no sirve, debo salir y volver a entrar lo que es un gran problema porque ahi esta el Respawn y los jugadores noobs se ponen a matar a los que recien aparecen.

-- Advanced Anti Zombie by Kenix version 1.0.6 
  
--[[ 
It's example how use it. 
  
Change this 
]] 
  
  
local aSavePlaces =  
{ 
     
    Rectangle = 
    { 
        -- X, Y, Width, Height 
        { -3000.1, 2100.1, 800, 800 }; 
        { -250, -150, 500, 300 }; 
    }; 
     
} 
  
local aRadarAreaPlaces =  
{ 
    -- x,  y ,size 1, size 2, color: red, green, blue, alpha. 
    { -3000.1, 2100.1, 800, 800, 0, 255, 0, 100 }; 
    { -250, -150, 500, 300, 0, 255, 0, 100 }; 
     
} 
  
local sResourceName             = getResourceName ( resource ) 
local bUseGunsInSavePlace       = get( sResourceName .. '.UseGunsInSaveZone' ) 
local bUseRadarArea             = get( sResourceName .. '.UseRadarArea' ) 
local pColshape, pRadarArea 
  
local bUseRunInSaveZone         = get( sResourceName .. '.UseRunInSaveZone' ) 
local bUseJumpInSaveZone        = get( sResourceName .. '.UseJumpInSaveZone' ) 
local bUseWeaponHudInSaveZone   = get( sResourceName .. '.UseWeaponHudInSaveZone' ) 
local bUseAmmoHudInSaveZone     = get( sResourceName .. '.UseAmmoHudInSaveZone' ) 
  
local bUseDamageInSaveZone      = get( sResourceName .. '.UseDamageInSaveZone' ) 
  
addEventHandler ( 'onResourceStart', resourceRoot,  
    function ( ) 
        for s, _ in pairs( aSavePlaces ) do 
            for _, a in pairs( aSavePlaces[ s ] ) do 
                pColshape = _G[ 'createCol' .. s ]( unpack( a ) ) 
                setElementData( pColshape, 'zombieProof', true ) 
                addEventHandler ( 'onColShapeHit', pColshape,  
                    function ( pHitElement ) 
                        if getElementType( pHitElement ) == 'player' then 
                            if not bUseGunsInSavePlace then 
                                toggleControl ( pHitElement, 'fire', false ) 
                                toggleControl ( pHitElement, 'aim_weapon', false ) 
                                toggleControl ( pHitElement, 'vehicle_fire', false ) 
                            end 
                            if not bUseRunInSaveZone then 
                                toggleControl ( pHitElement, 'sprint', false ) 
                            end 
                            if not bUseJumpInSaveZone then 
                                toggleControl ( pHitElement, 'jump', false ) 
                            end 
                            if not bUseWeaponHudInSaveZone then 
                                showPlayerHudComponent ( pHitElement, 'weapon', false )  
                            end 
                            if not bUseAmmoHudInSaveZone then 
                                showPlayerHudComponent ( pHitElement, 'ammo', false )  
                            end 
                            if not bUseDamageInSaveZone then 
                                setElementData( pHitElement, 'damage', 'no' ) 
                            end  
                        elseif getElementType( pHitElement ) == 'ped' then -- check if the entered ped kill it   
                            killPed( pHitElement ) -- kill ped 
                        end  
                    end 
                )    
                addEventHandler ( 'onColShapeLeave', pColshape,  
                    function ( pLeaveElement ) 
                        if getElementType( pLeaveElement ) == 'player' then 
                            if not bUseGunsInSavePlace then 
                                toggleControl ( pLeaveElement, 'fire', true ) 
                                toggleControl ( pLeaveElement, 'aim_weapon', true ) 
                                toggleControl ( pLeaveElement, 'vehicle_fire', true ) 
                            end 
                            if not bUseRunInSaveZone then 
                                toggleControl ( pLeaveElement, 'sprint', true ) 
                            end 
                            if not bUseJumpInSaveZone then 
                                toggleControl ( pLeaveElement, 'jump', true ) 
                            end 
                            if not bUseWeaponHudInSaveZone then 
                                showPlayerHudComponent ( pLeaveElement, 'weapon', true )  
                            end 
                            if not bUseAmmoHudInSaveZone then 
                                showPlayerHudComponent ( pLeaveElement, 'ammo', true )  
                            end 
                            if not bUseDamageInSaveZone then 
                                setElementData( pLeaveElement, 'damage', 'yes' ) 
                            end   
                        elseif getElementType( pLeaveElement ) == 'ped' then -- check if the entered ped kill it 
                            killPed( pLeaveElement ) -- kill ped 
                        end 
                    end 
                ) 
            end 
        end 
        if bUseRadarArea then 
            for _, a in ipairs( aRadarAreaPlaces ) do 
                pRadarArea = createRadarArea ( unpack( a ) ) 
            end 
        end 
    end     
)  
  
  
  
  

Link to comment
Si es el único spawn en tu server, podrías, poner la función que tienes onColShapeHit también en onPlayerSpawn y luego, cuando el jugador salga de la zona, entonces, eliminas la función y listo.

._. mierda porque no se me ocurrio antes >.<

Link to comment
Si es el único spawn en tu server, podrías, poner la función que tienes onColShapeHit también en onPlayerSpawn y luego, cuando el jugador salga de la zona, entonces, eliminas la función y listo.

Me pueden explicar como ... lo intente pero no funciona :/ y es una masacre en el area segura.

Link to comment

Intenta si te funciona asi:

  
-- Advanced Anti Zombie by Kenix version 1.0.6 
  
--[[ 
It's example how use it. 
  
Change this 
]] 
  
  
local aSavePlaces = 
{ 
    
    Rectangle = 
    { 
        -- X, Y, Width, Height 
        { -3000.1, 2100.1, 800, 800 }; 
        { -250, -150, 500, 300 }; 
    }; 
    
} 
  
local aRadarAreaPlaces = 
{ 
    -- x,  y ,size 1, size 2, color: red, green, blue, alpha. 
    { -3000.1, 2100.1, 800, 800, 0, 255, 0, 100 }; 
    { -250, -150, 500, 300, 0, 255, 0, 100 }; 
    
} 
  
local sResourceName             = getResourceName ( resource ) 
local bUseGunsInSavePlace       = get( sResourceName .. '.UseGunsInSaveZone' ) 
local bUseRadarArea             = get( sResourceName .. '.UseRadarArea' ) 
local pColshape, pRadarArea 
  
local bUseRunInSaveZone         = get( sResourceName .. '.UseRunInSaveZone' ) 
local bUseJumpInSaveZone        = get( sResourceName .. '.UseJumpInSaveZone' ) 
local bUseWeaponHudInSaveZone   = get( sResourceName .. '.UseWeaponHudInSaveZone' ) 
local bUseAmmoHudInSaveZone     = get( sResourceName .. '.UseAmmoHudInSaveZone' ) 
  
local bUseDamageInSaveZone      = get( sResourceName .. '.UseDamageInSaveZone' ) 
  
function enter( pHitElement ) 
if isElementWithinColShape ( pHitElement, pColshape ) then 
                        if getElementType( pHitElement ) == 'player' then 
                            if not bUseGunsInSavePlace then 
                                toggleControl ( pHitElement, 'fire', false ) 
                                toggleControl ( pHitElement, 'aim_weapon', false ) 
                                toggleControl ( pHitElement, 'vehicle_fire', false ) 
                            end 
                            if not bUseRunInSaveZone then 
                                toggleControl ( pHitElement, 'sprint', false ) 
                            end 
                            if not bUseJumpInSaveZone then 
                                toggleControl ( pHitElement, 'jump', false ) 
                            end 
                            if not bUseWeaponHudInSaveZone then 
                                showPlayerHudComponent ( pHitElement, 'weapon', false ) 
                            end 
                            if not bUseAmmoHudInSaveZone then 
                                showPlayerHudComponent ( pHitElement, 'ammo', false ) 
                            end 
                            if not bUseDamageInSaveZone then 
                                setElementData( pHitElement, 'damage', 'no' ) 
                            end  
                        elseif getElementType( pHitElement ) == 'ped' then -- check if the entered ped kill it   
                            killPed( pHitElement ) -- kill ped 
                        end 
                    end 
                end 
  
addEventHandler ( 'onResourceStart', resourceRoot, 
    function ( ) 
        for s, _ in pairs( aSavePlaces ) do 
            for _, a in pairs( aSavePlaces[ s ] ) do 
                pColshape = _G[ 'createCol' .. s ]( unpack( a ) ) 
                setElementData( pColshape, 'zombieProof', true ) 
                addEventHandler ( 'onColShapeHit', pColshape, enter ) 
                addEventHandler ( 'onColShapeLeave', pColshape, 
                    function ( pLeaveElement ) 
                        if getElementType( pLeaveElement ) == 'player' then 
                            if not bUseGunsInSavePlace then 
                                toggleControl ( pLeaveElement, 'fire', true ) 
                                toggleControl ( pLeaveElement, 'aim_weapon', true ) 
                                toggleControl ( pLeaveElement, 'vehicle_fire', true ) 
                            end 
                            if not bUseRunInSaveZone then 
                                toggleControl ( pLeaveElement, 'sprint', true ) 
                            end 
                            if not bUseJumpInSaveZone then 
                                toggleControl ( pLeaveElement, 'jump', true ) 
                            end 
                            if not bUseWeaponHudInSaveZone then 
                                showPlayerHudComponent ( pLeaveElement, 'weapon', true ) 
                            end 
                            if not bUseAmmoHudInSaveZone then 
                                showPlayerHudComponent ( pLeaveElement, 'ammo', true ) 
                            end 
                            if not bUseDamageInSaveZone then 
                                setElementData( pLeaveElement, 'damage', 'yes' ) 
                            end  
                        elseif getElementType( pLeaveElement ) == 'ped' then -- check if the entered ped kill it 
                            killPed( pLeaveElement ) -- kill ped 
                        end 
                    end 
                ) 
            end 
        end 
        if bUseRadarArea then 
            for _, a in ipairs( aRadarAreaPlaces ) do 
                pRadarArea = createRadarArea ( unpack( a ) ) 
            end 
        end 
    end     
) 

Link to comment
Intenta si te funciona asi:
  
-- Advanced Anti Zombie by Kenix version 1.0.6 
  
--[[ 
It's example how use it. 
  
Change this 
]] 
  
  
local aSavePlaces = 
{ 
    
    Rectangle = 
    { 
        -- X, Y, Width, Height 
        { -3000.1, 2100.1, 800, 800 }; 
        { -250, -150, 500, 300 }; 
    }; 
    
} 
  
local aRadarAreaPlaces = 
{ 
    -- x,  y ,size 1, size 2, color: red, green, blue, alpha. 
    { -3000.1, 2100.1, 800, 800, 0, 255, 0, 100 }; 
    { -250, -150, 500, 300, 0, 255, 0, 100 }; 
    
} 
  
local sResourceName             = getResourceName ( resource ) 
local bUseGunsInSavePlace       = get( sResourceName .. '.UseGunsInSaveZone' ) 
local bUseRadarArea             = get( sResourceName .. '.UseRadarArea' ) 
local pColshape, pRadarArea 
  
local bUseRunInSaveZone         = get( sResourceName .. '.UseRunInSaveZone' ) 
local bUseJumpInSaveZone        = get( sResourceName .. '.UseJumpInSaveZone' ) 
local bUseWeaponHudInSaveZone   = get( sResourceName .. '.UseWeaponHudInSaveZone' ) 
local bUseAmmoHudInSaveZone     = get( sResourceName .. '.UseAmmoHudInSaveZone' ) 
  
local bUseDamageInSaveZone      = get( sResourceName .. '.UseDamageInSaveZone' ) 
  
function enter( pHitElement ) 
if isElementWithinColShape ( pHitElement, pColshape ) then 
                        if getElementType( pHitElement ) == 'player' then 
                            if not bUseGunsInSavePlace then 
                                toggleControl ( pHitElement, 'fire', false ) 
                                toggleControl ( pHitElement, 'aim_weapon', false ) 
                                toggleControl ( pHitElement, 'vehicle_fire', false ) 
                            end 
                            if not bUseRunInSaveZone then 
                                toggleControl ( pHitElement, 'sprint', false ) 
                            end 
                            if not bUseJumpInSaveZone then 
                                toggleControl ( pHitElement, 'jump', false ) 
                            end 
                            if not bUseWeaponHudInSaveZone then 
                                showPlayerHudComponent ( pHitElement, 'weapon', false ) 
                            end 
                            if not bUseAmmoHudInSaveZone then 
                                showPlayerHudComponent ( pHitElement, 'ammo', false ) 
                            end 
                            if not bUseDamageInSaveZone then 
                                setElementData( pHitElement, 'damage', 'no' ) 
                            end  
                        elseif getElementType( pHitElement ) == 'ped' then -- check if the entered ped kill it   
                            killPed( pHitElement ) -- kill ped 
                        end 
                    end 
                end 
  
addEventHandler ( 'onResourceStart', resourceRoot, 
    function ( ) 
        for s, _ in pairs( aSavePlaces ) do 
            for _, a in pairs( aSavePlaces[ s ] ) do 
                pColshape = _G[ 'createCol' .. s ]( unpack( a ) ) 
                setElementData( pColshape, 'zombieProof', true ) 
                addEventHandler ( 'onColShapeHit', pColshape, enter ) 
                addEventHandler ( 'onColShapeLeave', pColshape, 
                    function ( pLeaveElement ) 
                        if getElementType( pLeaveElement ) == 'player' then 
                            if not bUseGunsInSavePlace then 
                                toggleControl ( pLeaveElement, 'fire', true ) 
                                toggleControl ( pLeaveElement, 'aim_weapon', true ) 
                                toggleControl ( pLeaveElement, 'vehicle_fire', true ) 
                            end 
                            if not bUseRunInSaveZone then 
                                toggleControl ( pLeaveElement, 'sprint', true ) 
                            end 
                            if not bUseJumpInSaveZone then 
                                toggleControl ( pLeaveElement, 'jump', true ) 
                            end 
                            if not bUseWeaponHudInSaveZone then 
                                showPlayerHudComponent ( pLeaveElement, 'weapon', true ) 
                            end 
                            if not bUseAmmoHudInSaveZone then 
                                showPlayerHudComponent ( pLeaveElement, 'ammo', true ) 
                            end 
                            if not bUseDamageInSaveZone then 
                                setElementData( pLeaveElement, 'damage', 'yes' ) 
                            end  
                        elseif getElementType( pLeaveElement ) == 'ped' then -- check if the entered ped kill it 
                            killPed( pLeaveElement ) -- kill ped 
                        end 
                    end 
                ) 
            end 
        end 
        if bUseRadarArea then 
            for _, a in ipairs( aRadarAreaPlaces ) do 
                pRadarArea = createRadarArea ( unpack( a ) ) 
            end 
        end 
    end     
) 

No funciona :/, de echo asi incluso los zombis aparecen.

Link to comment
  • Recently Browsing   0 members

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