Jump to content

Greenzone Issues


Recommended Posts

Hey, I'm having trouble getting an indicator to work for a greenzone script. The greenzone itself works well and the actual GUI looks good when brought up with a command, but it refuses to come up when its supposed to. It's not giving any error, so I assume I missed something major. Any help would once again be appreciated. :D

Here is the server-side script:

  
x, y, size = 1844.5594482422, 1375.3376464844, 120 
local greenzone = createColRectangle ( 1844.5594482422, 1375.3376464844, 284, 312.22 ) 
local greenzonemaparea = createRadarArea (1844.5594482422, 1375.3376464844, 284, 312.22, 0, 255, 0, 120) 
  
function greenzoneEnter ( thePlayer, matchingDimension ) 
    if getElementType( thePlayer ) ~= "player" then return end 
    triggerClientEvent("zoneEnter", thePlayer) 
    toggleControl ( thePlayer, "fire", false ) 
    toggleControl ( thePlayer, "next_weapon", false ) 
    toggleControl ( thePlayer, "previous_weapon", false ) 
    setPedWeaponSlot ( thePlayer, 0 ) 
    toggleControl ( thePlayer, "aim_weapon", false ) 
    toggleControl ( thePlayer, "vehicle_fire", false ) 
    toggleControl ( thePlayer, "vehicle_secondary_fire", false ) 
end 
addEventHandler ( "onColShapeHit", greenzone, greenzoneEnter ) 
  
function greenzoneExit ( thePlayer, matchingDimension ) 
    if getElementType( thePlayer ) ~= "player" then return end 
    triggerClientEvent("zoneExit", thePlayer) 
    toggleControl ( thePlayer, "fire", true ) 
    toggleControl ( thePlayer, "next_weapon", true ) 
    toggleControl ( thePlayer, "previous_weapon", true ) 
    toggleControl ( thePlayer, "aim_weapon", true ) 
    toggleControl ( thePlayer, "vehicle_fire", true ) 
    toggleControl ( thePlayer, "vehicle_secondary_fire", true ) 
end 
  
addEventHandler ( "onColShapeLeave", greenzone, greenzoneExit ) 
  

and here is the client-side script:

  
function buildNotice() 
    purpleLabel = guiCreateLabel(0.65, 0, 1, 1, "You are in a Safe Zone.", true) 
    guiSetFont(purpleLabel, "sa-header") 
    guiLabelSetColor(purpleLabel,0,255,0) 
end 
addEventHandler("onClientResourceStart", getLocalPlayer(), buildNotice) 
addEvent("zoneEnter", true) 
addEventHandler("zoneEnter", getLocalPlayer(),  
    function() 
        guiSetVisible(purpleLabel, true) 
    end 
) 
addEvent("zoneExit", true) 
addEventHandler("zoneExit", getLocalPlayer(), 
    function() 
        guiSetVisible(purpleLabel, false) 
    end 
) 
  

Link to comment

server side:

  
x, y, size = 1844.5594482422, 1375.3376464844, 120 
local greenzone = createColRectangle ( 1844.5594482422, 1375.3376464844, 284, 312.22 ) 
local greenzonemaparea = createRadarArea (1844.5594482422, 1375.3376464844, 284, 312.22, 0, 255, 0, 120) 
  
function greenzoneEnter ( thePlayer, matchingDimension ) 
    if getElementType( thePlayer ) ~= "player" then return end 
    triggerClientEvent(thePlayer, "zoneEnter", thePlayer) 
    toggleControl ( thePlayer, "fire", false ) 
    toggleControl ( thePlayer, "next_weapon", false ) 
    toggleControl ( thePlayer, "previous_weapon", false ) 
    setPedWeaponSlot ( thePlayer, 0 ) 
    toggleControl ( thePlayer, "aim_weapon", false ) 
    toggleControl ( thePlayer, "vehicle_fire", false ) 
    toggleControl ( thePlayer, "vehicle_secondary_fire", false ) 
end 
addEventHandler ( "onColShapeHit", greenzone, greenzoneEnter ) 
  
function greenzoneExit ( thePlayer, matchingDimension ) 
    if getElementType( thePlayer ) ~= "player" then return end 
    triggerClientEvent(thePlayer, "zoneExit", thePlayer) 
    toggleControl ( thePlayer, "fire", true ) 
    toggleControl ( thePlayer, "next_weapon", true ) 
    toggleControl ( thePlayer, "previous_weapon", true ) 
    toggleControl ( thePlayer, "aim_weapon", true ) 
    toggleControl ( thePlayer, "vehicle_fire", true ) 
    toggleControl ( thePlayer, "vehicle_secondary_fire", true ) 
end 
addEventHandler ( "onColShapeLeave", greenzone, greenzoneExit ) 

client side:

function buildNotice() 
    purpleLabel = guiCreateLabel(0.65, 0, 1, 1, "You are in a Safe Zone.", true) 
    guiSetFont(purpleLabel, "sa-header") 
    guiLabelSetColor(purpleLabel,0,255,0) 
    guiSetVisible(purpleLabel,false) 
end 
addEventHandler("onClientResourceStart", getResourceRootElement( getThisResource() ), buildNotice) 
  
addEvent("zoneEnter", true) 
addEventHandler("zoneEnter", getRootElement(), 
    function() 
        guiSetVisible(purpleLabel, true) 
    end 
) 
addEvent("zoneExit", true) 
addEventHandler("zoneExit", getRootElement(), 
    function() 
        guiSetVisible(purpleLabel, false) 
    end 
) 

Your errors (i'm bad in explaining):

You used getLocalPlayer() in the addEventHandler("zoneExit", getRootElement(), and that doesn't works you must use getRootElement() (if i'm right)

also in onClientResourceStart you was doing same but if you use getRootElement() there when any resource is started it will execute that function so you have to do what i did to only execute when this resource is started, also in server side if i'm right your triggers where wrong if i'm right.

i also added guiSetVisible onClientResourceStart because you was going to have the label even if you didn't entered in safe zone.

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