Jump to content

Mod entrando em conflito com ele mesmo


Recommended Posts

Esse mod esta dando conflito com o mesmo mod, pq quando eu estou colocando ele numa base, e depois for colco ar em outra ele esta dando conflito com eles mesmo queria saber como poderia arrumar esse bugs desse script, esse mod não e meu e também nao tem aturo pois ja vi varias paginas come esse mod e não tem nenhum autor fixo!!!, 

http://www.mtabrasil.com.br/2019/10/gerenciador-de-base-bca.html preciso de muita ajuda mesmo espero que tenham paciencia para me ajudar por favor !!!

 

script: servidor


 


carro1 = {}
carro2 = {}
carro3 = {}

local Protecao = "PMERJ" -- ACL da protecao, se o player nao tiver nela, o alarme joga ele pra fora da base
local Acesso_ADM = "..." --- Acesso a base e gerenciador sem precisar colocar a senha

local id_skin1, id_skin2, id_skin3 = 285, 156, 133 -- 3 skins 
local id_carro1, id_carro2, id_carro3 = 596, 521, 402 -- 3 carros 

local carro_1, carro_2, carro_3 = true, true, false --- true = sim , false = nao
local skin_1, skin_2, skin_3 = true, false, false
local alarme = false

--- /// PROTECAO BASE
RestricLocation = {}
TeleportLocation = {}
RestricLocation["location1"] = {1751.9000244141,-1942,30.60000038147} -- Local 1
RestricLocation["location2"] = {1811.0999755859,-1881.1999511719,13.60000038147} -- Local 2
TeleportLocation = {1821.6999511719,-1920,13.39999961853}

MsgInvasao = "Base da PMERJ, Ja foi chamado a policia."

--- /// PORTAO BASE
local idportao = 980
portao = {1810.7998046875,-1889.099609375 ,15.39999961853 , 0, 0, 90}

--- /// TELEPORTE POR COMANDO DO GERENCIADOR 
Teleporte_BASE = {}
Teleporte_BASE = {1774.9443359375,-1936.95703125,12.667187690735} --- Teleporte pelo comando do gerenciador

local marker = createMarker ( 1774.9443359375,-1936.95703125,12.667187690735, "cylinder", 2, 0, 0, 255, 150) --- Coordenadas do Gerenciador
function Abrir_painel (source)
triggerClientEvent (source, "Event_Painel", root)
triggerEvent ("Password", source) 
triggerEvent ("AlamrConf", source)
end
addEventHandler ("onMarkerHit", marker, Abrir_painel)

function onResourceStart()
    for k, v in ipairs(getElementsByType("player")) do
        local account = getPlayerAccount(v)
        if account and not isGuestAccount(account) then
            if isObjectInACLGroup("user."..getAccountName(account), aclGetGroup(Acesso_ADM)) then
                setElementData(v,"AcessoPainel",true)
            end
        end
    end
end
addEventHandler("onResourceStart",resourceRoot,onResourceStart)

function onPlayerLogin(_,account)
    local accName = getAccountName(account)
    if isObjectInACLGroup("user."..accName, aclGetGroup(Acesso_ADM))then
        setElementData(source,"AcessoPainel",true)
    end
end
addEventHandler("onPlayerLogin",root,onPlayerLogin)

--- /// VEICULOS
function Veiculo_1 ()
    if carro_1 == false then outputChatBox ( "[#00FF00Painel#FFFFFF-#00FF00Base#FFFFFF]: Não é permitido esse veiculo.",source,255,255,255,true)
    return end
    if carro1[source] and isElement( carro1[source] ) then destroyElement( carro1[source] ) 
    carro1[source] = nil 
    end
    local x,y,z = getElementPosition(source)
    carro1[source] = createVehicle(id_carro1, x,y,z)
    warpPedIntoVehicle (source,carro1[source])
    setVehicleDamageProof(getPedOccupiedVehicle(source),true)
    outputChatBox ( "[#00FF00Painel#FFFFFF-#00FF00Base#FFFFFF]: Você pego o veiculo 1.",source,255,255,255,true)
end
addEvent("Veiculo_1",true)
addEventHandler("Veiculo_1",root,Veiculo_1)

function Destruir_carro1 ()
if carro1[source] and isElement( carro1[source] ) then
destroyElement (carro1[source])
end
end
--addEventHandler ("onPlayerLogout", root, Destruir_carro1)
--addEventHandler ("onPlayerQuit", root, Destruir_carro1)
--addEventHandler ("onPlayerWasted", root, Destruir_carro1)
addEvent("Veiculo_1_Destruir",true)
addEventHandler("Veiculo_1_Destruir",root,Destruir_carro1)

function Veiculo_2 ()
    if carro_2 == false then outputChatBox ( "[#00FF00Painel#FFFFFF-#00FF00Base#FFFFFF]: Não é permitido esse veiculo.",source,255,255,255,true)
    return end
    if carro2[source] and isElement( carro2[source] ) then destroyElement( carro2[source] ) 
    carro2[source] = nil 
    end
    local x,y,z = getElementPosition(source)
    carro2[source] = createVehicle(id_carro2, x,y,z)
    warpPedIntoVehicle (source,carro2[source])
    setVehicleDamageProof(getPedOccupiedVehicle(source),true)
    outputChatBox ( "[#00FF00Painel#FFFFFF-#00FF00Base#FFFFFF]: Você pego o veiculo 2.",source,255,255,255,true)
end
addEvent("Veiculo_2",true)
addEventHandler("Veiculo_2",root,Veiculo_2)

function Destruir_carro2 ()
if carro2[source] and isElement( carro2[source] ) then
destroyElement (carro2[source])
end
end
--addEventHandler ("onPlayerLogout", root, Destruir_carro2)
--addEventHandler ("onPlayerQuit", root, Destruir_carro2)
--addEventHandler ("onPlayerWasted", root, Destruir_carro2)
addEvent("Veiculo_2_Destruir",true)
addEventHandler("Veiculo_2_Destruir",root,Destruir_carro2)

function Veiculo_3 ()
    if carro_3 == false then outputChatBox ( "[#00FF00Painel#FFFFFF-#00FF00Base#FFFFFF]: Não é permitido esse veiculo.",source,255,255,255,true)
    return end
    if carro3[source] and isElement( carro3[source] ) then destroyElement( carro3[source] ) 
    carro3[source] = nil 
    end
    local x,y,z = getElementPosition(source)
    carro3[source] = createVehicle(id_carro3, x,y,z)
    warpPedIntoVehicle (source,carro3[source])
    setVehicleDamageProof(getPedOccupiedVehicle(source),true)
    outputChatBox ( "[#00FF00Painel#FFFFFF-#00FF00Base#FFFFFF]: Você pego o veiculo 3.",source,255,255,255,true)
end
addEvent("Veiculo_3",true)
addEventHandler("Veiculo_3",root,Veiculo_3)

function Destruir_carro3 ()
if carro3[source] and isElement( carro3[source] ) then
destroyElement (carro3[source])
end
end
--addEventHandler ("onPlayerLogout", root, Destruir_carro3)
--addEventHandler ("onPlayerQuit", root, Destruir_carro3)
--addEventHandler ("onPlayerWasted", root, Destruir_carro3)
addEvent("Veiculo_3_Destruir",true)
addEventHandler("Veiculo_3_Destruir",root,Destruir_carro3)

--- /// SKINS
function skin1 ()
if skin_1 == false then outputChatBox ( "[#00FF00Painel#FFFFFF-#00FF00Base#FFFFFF]: Não é permitido essa skin.",source,255,255,255,true)
return end
setPedSkin(source,id_skin1)
outputChatBox("[#00FF00Painel#FFFFFF-#00FF00Base#FFFFFF]: Você pego a skin 1.",source,255,255,255,true)
end
addEvent("Skin_Event_1",true)
addEventHandler("Skin_Event_1",root,skin1)

function skin2 ()
if skin_2 == false then outputChatBox ( "[#00FF00Painel#FFFFFF-#00FF00Base#FFFFFF]: Não é permitido essa skin.",source,255,255,255,true)
return end
setPedSkin(source,id_skin2)
outputChatBox("[#00FF00Painel#FFFFFF-#00FF00Base#FFFFFF]: Você pego a skin 2.",source,255,255,255,true)
end
addEvent("Skin_Event_2",true)
addEventHandler("Skin_Event_2",root,skin2)

function skin3 ()
if skin_3 == false then outputChatBox ( "[#00FF00Painel#FFFFFF-#00FF00Base#FFFFFF]: Não é permitido essa skin.",source,255,255,255,true)
return end
setPedSkin(source,id_skin3)
outputChatBox("[#00FF00Painel#FFFFFF-#00FF00Base#FFFFFF]: Você pego a skin 3.",source,255,255,255,true)
end
addEvent("Skin_Event_3",true)
addEventHandler("Skin_Event_3",root,skin3)


--- /// ARMAS
function Armas_1 ()
giveWeapon(source, 23, 500)
outputChatBox("[#00FF00Painel#FFFFFF-#00FF00Base#FFFFFF]: Você pego a tazer.",source,255,255,255,false)
end
addEvent ("Armas_1", false)
addEventHandler ("Armas_1", root, Armas_1)

function Armas_2 ()
giveWeapon(source, 14, 500 )
outputChatBox("[#00FF00Painel#FFFFFF-#00FF00Base#FFFFFF]: Você pego a Tear Gás.",source,255,255,255,false)
end
addEvent ("Armas_2", false)
addEventHandler ("Armas_2", root, Armas_2)

function Armas_3 ()
giveWeapon(source, 44, 1 )
outputChatBox("[#00FF00Painel#FFFFFF-#00FF00Base#FFFFFF]: Você pego o Night Vision.",source,255,255,255,false)
end
addEvent ("Armas_3", false)
addEventHandler ("Armas_3", root, Armas_3)


--- /// ALTERAR SENHA GERENCIADOR
function trocar_senha(senha_nova)
    local config = xmlLoadFile("gerenciador/configuracoes.xml")
    local markernode = xmlFindChild(config, "Gerenciador", 0)
    xmlNodeSetValue(markernode, tostring(senha_nova))
    Gerenciador = xmlNodeGetValue ( markernode )
    xmlSaveFile(config)
    xmlUnloadFile(config)
    triggerEvent ("Password", source)
    outputChatBox("[#00FF00Painel#FFFFFF-#00FF00Base#FFFFFF]: Senha do gerenciador alterada para: '#00FF00"..senha_nova.."#FFFFFF'.",source,255,255,255,true)
end
addEvent ("Change_pass", true)
addEventHandler ("Change_pass", getRootElement(), trocar_senha)

function validar_senha()
senha = Gerenciador
triggerClientEvent (source, "Senha_Portao", root, senha)
end
addEvent ("Password", true)
addEventHandler ("Password", getRootElement(), validar_senha)

--- /// ALTERAR SENHA PORTAO
function trocar_senha_portao(senha_nova)
    local config = xmlLoadFile("gerenciador/configuracoes.xml")
    local markernode = xmlFindChild(config, "Base", 0)
    xmlNodeSetValue(markernode, tostring(senha_nova))
    Base = xmlNodeGetValue ( markernode )
    xmlSaveFile(config)
    xmlUnloadFile(config)
    outputChatBox("[#00FF00Painel#FFFFFF-#00FF00Base#FFFFFF]: Senha do portão alterada para: '#00FF00"..senha_nova.."#FFFFFF'.",source,255,255,255,true)
end
addEvent ("Change_pass_portao", true)
addEventHandler ("Change_pass_portao", getRootElement(), trocar_senha_portao)


--- /// ALTERAR TELEPORT
function trocar_teleport(tele_novo)
    local config = xmlLoadFile("gerenciador/configuracoes.xml")
    local markernode = xmlFindChild(config, "Teleporte", 0)
    xmlNodeSetValue(markernode, tostring(tele_novo))
    Teleporte = xmlNodeGetValue ( markernode )
    removeEventHandler(""..Teleporte.."",Tele)
    addCommandHandler(""..Teleporte.."",Tele)
    xmlSaveFile(config)
    xmlUnloadFile(config)
    outputChatBox("[#00FF00Painel#FFFFFF-#00FF00Base#FFFFFF]: Teleporte alterado para: '#00FF00"..tele_novo.."#FFFFFF'.",source,255,255,255,true)
end
addEvent ("Trocar_teleport", true)
addEventHandler ("Trocar_teleport", getRootElement(), trocar_teleport)

function Tele (source)
setElementPosition (source, Teleporte_BASE[1], Teleporte_BASE[2], Teleporte_BASE[3] ) 
end

--- /// ALTERAR TAG
function trocar_tag(tag_nova)
    local config = xmlLoadFile("gerenciador/configuracoes.xml")
    local markernode = xmlFindChild(config, "Tag", 0)
    xmlNodeSetValue(markernode, tostring(tag_nova))
    Tag = xmlNodeGetValue ( markernode )
    xmlSaveFile(config)
    xmlUnloadFile(config)
    outputChatBox("[#00FF00Painel#FFFFFF-#00FF00Base#FFFFFF]: A tag foi alterada para: '#00FF00"..tag_nova.."#FFFFFF'.",source,255,255,255,true)
end
addEvent ("Trocar_tag", true)
addEventHandler ("Trocar_tag", getRootElement(), trocar_tag)

function chatbox(text, msgtype)
local new = ""
local iter = 0
msg = string.gsub(text,"ـ","")
for word in msg:gmatch("%S+") do
iter = iter + 1        
if iter == 1 and word:len() > 0 then
word = word:gsub("%a",string.upper,1)
end
new = new..word.." "
end
if new ~= "" then msg = new end
text = msg
local root = getRootElement()
local name = getPlayerName(source)
login = getAccountName(getPlayerAccount(source))

end
addEventHandler("onPlayerChat", root, chatbox)  

--- /// DAR TAG
addEvent("MoverACL",true)
function MoverplayertoACL(player, groupname)
    local account = getPlayerAccount(player)
    if ( not isGuestAccount ( account ) ) then
        local group = aclGetGroup ( groupname )
        if ( group ) then
            local isInACLGroup = isObjectInACLGroup ( "user." .. getAccountName ( account ), group)
            if ( not isInACLGroup ) then
                aclGroupAddObject ( group, "user."..getAccountName ( account ) )
                setElementData(player,"Tag_PainelBase",true)
                outputChatBox ( "[#00FF00Painel#FFFFFF-#00FF00Base#FFFFFF]: " .. getPlayerName(player) .. "#ffffff foi adicionado no grupo "..groupname..".", source, 255, 255 ,255 ,true)
                outputChatBox ( "[#00FF00Painel#FFFFFF-#00FF00Base#FFFFFF]: " .. getPlayerName(player) .. "#ffffff você foi adicionado ao grupo "..groupname..".", player, 255, 255 ,255 ,true)
            elseif ( isInACLGroup ) then
                aclGroupRemoveObject ( group, "user."..getAccountName ( account ) )
                setElementData(player,"Tag_PainelBase",false)
                outputChatBox ( "[#00FF00Painel#FFFFFF-#00FF00Base#FFFFFF]: " .. getPlayerName(player) .. "#ffffff foi removido do grupo "..groupname..".", source, 255, 255 ,255 ,true)
                outputChatBox ( "[#00FF00Painel#FFFFFF-#00FF00Base#FFFFFF]: " .. getPlayerName(player) .. "#ffffff você foi removido do grupo "..groupname..".", player, 255, 255 ,255 ,true)
            end
        else
            outputChatBox ( "[#00FF00Painel#FFFFFF-#00FF00Base#FFFFFF]: O grupo #FFFFFF" .. groupname .. "#ffffff não existe.", source, 255, 255 ,255 ,true)
        end
    else
        outputChatBox ( "[#00FF00Painel#FFFFFF-#00FF00Base#FFFFFF]: Erro, o jogador não está logado.", source, 255, 255 ,255 ,true)
    end
end
addEventHandler("MoverACL", getRootElement(), MoverplayertoACL)
-- /// ALARME ON
function Alarme_on()
    local config = xmlLoadFile("gerenciador/configuracoes.xml")
    local markernode = xmlFindChild(config, "Alarme", 0)
    xmlNodeSetValue(markernode, "true")
    Alerta = xmlNodeGetValue ( markernode )
    xmlSaveFile(config)
    xmlUnloadFile(config)
    triggerEvent ("AlamrConf", source)
    triggerClientEvent (root, "Alarme_Painel", root)
    alarme = true
end
addEvent("Alarme_on",true)
addEventHandler("Alarme_on", getRootElement(), Alarme_on)


--- /// ALARME OFF
function Alarme_off()
    local config = xmlLoadFile("gerenciador/configuracoes.xml")
    local markernode = xmlFindChild(config, "Alarme", 0)
    xmlNodeSetValue(markernode, "false")
    Alerta = xmlNodeGetValue ( markernode )
    xmlSaveFile(config)
    xmlUnloadFile(config)
    triggerEvent ("AlamrConf", source)
    triggerClientEvent (root, "Alarme_Painel_OFF", root)
    alarme = false
end
addEvent("Alarme_off",true)
addEventHandler("Alarme_off", getRootElement(), Alarme_off)

function alarmeconf()
evento = Alerta
triggerClientEvent (source, "Alarme_Config", root, evento)
end
addEvent ("AlamrConf", true)
addEventHandler ("AlamrConf", getRootElement(), alarmeconf)


--- /// PROTECAO BASE
ColCuboid = false
EnableVehicleGodMode = true
HabilitarAdmin = false
GodMode = true
NaoAtirar = false

--------------------------------------- CONFIGS --------------------------------------------

function sendMsg(iplayer,msg)
  outputChatBox ( msg, iplayer, 255, 0, 0, true )
end

function EnterPlace ( theElement )
triggerEvent ("AlamrConf", root)
local veh = getPedOccupiedVehicle(theElement)
local accName = getAccountName(getPlayerAccount(theElement))
  if HabilitarAdmin == true then
    if ( hasObjectPermissionTo ( PlayerID, "command.mute", true ) ) then
      return
    end
  end
if alarme == false then return end
  if (getElementType ( theElement ) == "player") and (PlayerHaveLevel (theElement) == false) then
    sendMsg(theElement,MsgInvasao)
    if veh then
      setElementPosition( veh, TeleportLocation[1], TeleportLocation[2], TeleportLocation[3])
      triggerClientEvent (root, "Alarme_Painel", root) 
    else
      setElementPosition( theElement, TeleportLocation[1], TeleportLocation[2], TeleportLocation[3])
      triggerClientEvent (root, "Alarme_Painel", root)
    end
    sendMsgOwners(theElement)
  elseif getElementType ( theElement ) == "vehicle" then
    SetVehicleGodMode(theElement,true)
  end
end

function ExitPlace ( theElement )
  if GodMode == true then
    setElementData(theElement,"blood",12000)
  end
  if NaoAtirar == true then
  toggleControl(theElement, "fire", true)
  toggleControl(theElement, "vehicle_fire", true)
  toggleControl(theElement, "vehicle_secondary_fire", true)
  toggleControl(theElement, "aim_weapon", true)
  end
  if getElementType ( theElement ) == "vehicle" then
    SetVehicleGodMode(theElement,false)
  end
end

function PlayerHaveLevel( PlayerID )
    login = getAccountName(getPlayerAccount(PlayerID))
    if isObjectInACLGroup("user."..login, aclGetGroup(Protecao)) or isObjectInACLGroup("user."..login, aclGetGroup(Acesso_ADM)) or getElementData(PlayerID,"Tag_PainelBase") then
      if GodMode == true then
        setElementData(PlayerID,"blood",999999999999999)
      end
       if NaoAtirar == true then
        toggleControl (PlayerID, "fire", false)
        toggleControl (PlayerID, "vehicle_fire", false)
        toggleControl (PlayerID, "vehicle_secondary_fire", false)
        toggleControl (PlayerID, "aim_weapon", false)
      end
    return true
    else
    return false
    end
end

function ResourceStart( )
    LoadLocations()
    CreateCollision()
end
addEventHandler( "onResourceStart", getResourceRootElement( getThisResource() ),ResourceStart)

function LoadLocations()
    local RX, RY, RZ, WRX, WRX, WRX
    if(RestricLocation["location1"][1] > RestricLocation["location2"][1]) then
        RestricLocation["maxx"] = RestricLocation["location1"][1]
        RestricLocation["minx"] = RestricLocation["location2"][1]
    else
        RestricLocation["maxx"] = RestricLocation["location2"][1]
        RestricLocation["minx"] = RestricLocation["location1"][1]
    end
    if(RestricLocation["location1"][2] > RestricLocation["location2"][2]) then
        RestricLocation["maxy"] = RestricLocation["location1"][2]
        RestricLocation["miny"] = RestricLocation["location2"][2]
    else
        RestricLocation["maxy"] = RestricLocation["location2"][2]
        RestricLocation["miny"] = RestricLocation["location1"][2]
    end
    if(RestricLocation["location1"][3] > RestricLocation["location2"][3]) then
        RestricLocation["maxz"] = RestricLocation["location1"][3]
        RestricLocation["minz"] = RestricLocation["location2"][3]
    else
        RestricLocation["maxz"] = RestricLocation["location2"][3]
        RestricLocation["minz"] = RestricLocation["location1"][3]
    end
end

function CreateCollision()
    RX = RestricLocation["minx"]
    WRX = RestricLocation["maxx"] - RestricLocation["minx"]
    RY = RestricLocation["miny"]
    WRY = RestricLocation["maxy"] - RestricLocation["miny"]
    RZ = RestricLocation["minz"]
    WRZ = RestricLocation["maxz"] - RestricLocation["minz"]
    ColCuboid = createColCuboid ( RX, RY, RZ, WRX, WRY, WRZ )
    if ColCuboid then
        addEventHandler ( "onColShapeHit", ColCuboid, EnterPlace )
        addEventHandler ( "onColShapeLeave", ColCuboid, ExitPlace )
    else
        outputDebugString("Erro, verifique: location1 e location2")
    end
end

function ResourceStop( )
    destroyElement ( ColCuboid )
end
addEventHandler( "onResourceStop", getResourceRootElement( getThisResource() ),ResourceStop)
 
function sendMsgOwners( PlayerID )
    local connectedPlayers = getElementsByType ( "player" )
    for i, aPlayer in ipairs(connectedPlayers) do
        if(PlayerHaveLevel (aPlayer) == true) then
            sendMsg(aPlayer,"#FFFFFFO jogador " ..getPlayerName ( PlayerID ) .."#FFFFFF está tentando invadir a base.")
        end
    end
end

function SetVehicleGodMode( VehicleID, godEoD )
    if EnableVehicleGodMode == true then
        setElementData(VehicleID, "godmode", godEoD)
        setVehicleDamageProof (VehicleID, godEoD )
    end
end


--- /// SALVAR CONFIGURACOES

local nodes = {
    "Tag",
    "Teleporte",
    "Gerenciador",
    "Base", 
    "Alarme"
}

if not fileExists("gerenciador/configuracoes.xml") then
    local node = xmlCreateFile("gerenciador/configuracoes.xml","Configuracoes")
    for ind, nn in ipairs(nodes) do
        local child = xmlCreateChild( node, tostring(nn))
    end
    
    xmlSaveFile(node)
    xmlUnloadFile(node)
    outputDebugString("Configuracoes do painel base foram criadas com sucesso.")
end

function event()
triggerEvent ("AlamrConf", root)
end

function Config_load ()
    xml = xmlLoadFile ( "gerenciador/configuracoes.xml" ) 
    local node = xmlFindChild( xml, "Tag", 0 )
    local node_2 = xmlFindChild( xml, "Teleporte", 0 )
    local node_3 = xmlFindChild( xml, "Gerenciador", 0 )
    local node_4 = xmlFindChild( xml, "Base", 0 )
    local node_5 = xmlFindChild( xml, "Alarme", 0 )
    Tag = xmlNodeGetValue ( node )
    Teleporte = xmlNodeGetValue ( node_2 )
    Gerenciador = xmlNodeGetValue ( node_3 )
    Base = xmlNodeGetValue ( node_4 )
    Alerta = xmlNodeGetValue ( node_5 )
    addCommandHandler(""..Teleporte.."",Tele)
    setTimer(event, 1000,1)
    alarme = true
end
addEventHandler ( "onResourceStart", getResourceRootElement ( getThisResource () ), Config_load )


--- // PAINEL PORTAO

local m_portao = createMarker (portao[1], portao[2], portao[3]-1, "cylinder", 10, 0, 255, 255, 0)
function painel_portao (source)
login = getAccountName(getPlayerAccount(source))
if getElementData(source,"Tag_PainelBase") or isObjectInACLGroup("user."..login, aclGetGroup(Acesso_ADM)) then
triggerEvent ("abrir", source)
return end
if getElementData(source,"Portao_senha") == 3 then
   outputChatBox ('[ ATENÇAO ] - Você foi bloqueado por 2 minutos, de tentar digitar a senha.', source, 255, 255, 255, true)
return end
triggerClientEvent (source, "Event_Painel_2", root)
triggerEvent ("Password_2", source)
end
addEventHandler ("onMarkerHit", m_portao, painel_portao)

function validar_senha()
senha = Base
triggerClientEvent (source, "Senha_Portao_2", root, senha)
end
addEvent ("Password_2", true)
addEventHandler ("Password_2", getRootElement(), validar_senha)

function Portao ()
   gate = createObject  (idportao, portao[1], portao[2], portao[3], portao[4], portao[5], portao[6])
end
addEventHandler ( "onResourceStart", getResourceRootElement ( getThisResource () ), Portao )

function abrir (source)
setElementData(source,"Tag_PainelBase",true)
moveObject(gate, 2000, portao[1], portao[2], portao[3]-10)
setTimer ( function()
    moveObject(gate, 2000, portao[1], portao[2], portao[3])
  end, 6000, 1 )
end
addEvent ("abrir", true)
addEventHandler ("abrir", getRootElement(), abrir)

function abrir2 ()
setElementData(source,"Tag_PainelBase",true)
end
addEvent ("abrir2", true)
addEventHandler ("abrir2", getRootElement(), abrir2)

addEventHandler("onPlayerJoin",root,
function()
setElementData(source,"Portao_senha",0)
end)

addEventHandler("onResourceStart",resourceRoot,
function()
local players = getElementsByType ( "player" )
for i,p in ipairs(players) do
setElementData(p,"Portao_senha",0)
end
end
)

addEventHandler("onResourceStop",resourceRoot,
function()
local players = getElementsByType ( "player" )
for i,p in ipairs(players) do
setElementData(p,"Portao_senha",0)
end
end
)

timer = {}
function erro_senha()
   if getElementData(source,"Portao_senha") == 3 then
   if timer[source] then 
   outputChatBox ('[ ATENÇAO ] - Você foi bloqueado por 2 minutos, de tentar digitar a senha.', source, 255, 255, 255, true)
   triggerClientEvent (source, "Painel_exit", root)
   setElementPosition( source, TeleportLocation[1], TeleportLocation[2], TeleportLocation[3] )
   setElementPosition( getPedOccupiedVehicle(source), TeleportLocation[1], TeleportLocation[2], TeleportLocation[3] )
   
   else
   timer[source] = setTimer (setElementData, 60000*2, 1, source, "Portao_senha", 0)
   outputChatBox ('[ ATENÇAO ] - Você foi bloqueado por 2 minutos, de tentar digitar a senha.', source, 255, 255, 255, true)
   triggerClientEvent (source, "Painel_exit", root)
   setElementPosition( source, TeleportLocation[1], TeleportLocation[2], TeleportLocation[3] )  
   setElementPosition( getPedOccupiedVehicle(source), TeleportLocation[1], TeleportLocation[2], TeleportLocation[3] )
   
   end
   return end
   
   if getElementData(source,"Portao_senha") == 2 then
   outputChatBox ('[ ATENÇAO ] - Senha incorreta, voce pode apenas 1 tentativa.', source, 255, 255, 255, true)
   end  
   
   if getElementData(source,"Portao_senha") == 1 then
   outputChatBox ('[ ATENÇAO ] - Senha incorreta, voce pode apenas 2 tentativas.', source, 255, 255, 255, true)
   end 
   
   if getElementData(source,"Portao_senha") == 0 then
   outputChatBox ('[ ATENÇAO ] - Senha incorreta, voce pode apenas 3 tentativas.', source, 255, 255, 255, true)
   end 
   
   setElementData(source,"Portao_senha",getElementData(source,"Portao_senha")+1)
   
end
addEvent ("Erro_senha", true)
addEventHandler ("Erro_senha", getRootElement(), erro_senha)

--------------------- CRIA MARKER MOVE
local descer = createMarker(1540.6694335938, -1609.2290039063, 21.2,"cylinder", 1, 0, 255, 255, 0)
local subir = createMarker(1540.8563232422, -1609.2290039063, 12.6,"cylinder", 1, 0, 255, 255, 0)

function desceu(source)
fadeCamera(source, false)
setTimer(fadeCamera, 1000, 1, source, true)
setTimer ( function()
setElementPosition (source, 1545.775390625, -1607.8100585938, 13.3828125)
setElementRotation(source,0,0,218.36817932129)
end, 1000, 1 )
end
addEventHandler("onMarkerHit", descer, desceu)

function subiu(source)
fadeCamera(source, false)
setTimer(fadeCamera, 1000, 1, source, true)
setTimer ( function()
setElementPosition (source, 1544.0809326172, -1609.0495605469, 22.155364990234)
setElementRotation(source,0,0,229.6483001709)
end, 1000, 1 )
end
addEventHandler("onMarkerHit", subir, subiu)

 

script: client



local screenW,screenH = guiGetScreenSize()
local resW, resH = 1280, 1024
local x, y =  (screenW/resW), (screenH/resH)
local xx, _ =  (screenW/resW), (screenH/resH)

-- /// ACL PARA RECRUTAR
local ACL = "PMERJ"

-- /// QUALQUER CORDENADA DENTRO DA BASE 
Sirene = {}
Sirene = {1774.9443359375,-1936.95703125,12.667187690735}

local painel = false
local personagem = false
local carros = false
local armas = false
local gerenciador = false
local gerenciando = false
local carro1 = false
local carro2 = false
local carro3 = false
local tag = false
local senha_branco = ""
local senha_gerenciador = PMERJ667

fonte1 = dxCreateFont("gerenciador/gfx/fonte1.ttf", 15)
fonte2 = dxCreateFont("gerenciador/gfx/fonte2.ttf", 10)
fonte3 = dxCreateFont("gerenciador/gfx/fonte2.ttf", 13)

addEventHandler("onClientResourceStart", resourceRoot,
    function()
    
        Geren_senha = guiCreateEdit(x*95, y*467, x*122, y*27, "", false)    
        guiSetVisible(Geren_senha, false)
        guiEditSetMasked ( Geren_senha, true )
        
        New_pass_gerenciador = guiCreateEdit(x*118, y*458+10, x*95, y*26, "", false)
        guiSetVisible(New_pass_gerenciador, false)
        
        change_pass_portao = guiCreateEdit(x*122, y*601+10, x*86, y*26, "", false)
        guiSetVisible(change_pass_portao, false)
        
        change_tele = guiCreateEdit(x*122, y*698+10, x*86, y*26, "", false)
        guiSetVisible(change_tele, false)
        
        change_tag = guiCreateEdit(x*237, y*602+10, x*176, y*28, "", false)
        guiEditSetMaxLength ( change_tag, 20 ) -- Limite maximo de letras da tag
        guiSetVisible(change_tag, false)
                
        procurar = guiCreateEdit(x*240, y*323, x*172, y*24, "", false)  
         guiSetVisible(procurar, false)
        
        grdPlayers = guiCreateGridList(x*244, y*340+10, x*165, y*187, false)
        guiSetFont (grdPlayers, "default-bold-small" )
        colPlayers = guiGridListAddColumn(grdPlayers, "Jogadore: ", 0.9)    
        guiSetVisible ( grdPlayers, false )
        
        local players = getElementsByType("player")
        for k,v in ipairs(players) do
        addPlayerToList(v)
        end
        
    end
)

function alarme_conf (info)
if info == "true" then
alarme = true
elseif info == "false" then
alarme = false
end
end
addEvent ("Alarme_Config", true)
addEventHandler ("Alarme_Config", root, alarme_conf)

function paineldx ()    

   if personagem == true then
        Retangulo(44, 284, 175, 31, tocolor(0, 0, 0, 221), false)
        Texto_2("Painel Base", 221, 284, 396, 315, tocolor(13, 163, 249, 221), 1.00, fonte1, "center", "center", false, false, false, false, false)
        Retangulo(44, 391, 175, 31, tocolor(32, 31, 31, 240), false)
        Retangulo(44, 427, 175, 31, tocolor(32, 31, 31, 240), false)
        Retangulo(44, 462, 175, 31, tocolor(0, 0, 0, 221), false)
        Retangulo(44, 320, 175, 31, tocolor(1, 60, 4, 221), false)
        Retangulo(44, 355, 175, 31, tocolor(32, 31, 31, 240), false)
        Texto_2("PERSONAGENS", 221, 320, 396, 351, tocolor(224, 249, 11, 221), 1.00, fonte2, "center", "center", false, false, false, false, false)
        Texto_2("Personagem 1", 221, 355, 396, 386, tocolor(255, 255, 255, 255), 1.00, fonte3, "center", "center", false, false, false, false, false)
        Texto_2("Personagem 2", 221, 391, 396, 422, tocolor(255, 255, 255, 255), 1.00, fonte3, "center", "center", false, false, false, false, false)
        Texto_2("Personagem 3", 221, 427, 396, 458, tocolor(255, 255, 255, 255), 1.00, fonte3, "center", "center", false, false, false, false, false)
        Retangulo(44, 497, 175, 31, tocolor(0, 0, 0, 221), false)
        Retangulo(44, 534, 175, 31, tocolor(0, 0, 0, 221), false)
        Retangulo(44, 569, 175, 31, tocolor(0, 0, 0, 221), false)
        Texto_2("VEICULOS", 221, 462, 396, 493, tocolor(224, 249, 11, 221), 1.00, fonte2, "center", "center", false, false, false, false, false)
        Texto_2("ARMAS", 221, 497, 396, 528, tocolor(224, 249, 11, 221), 1.00, fonte2, "center", "center", false, false, false, false, false)
        Texto_2("GERENCIADOR", 221, 534, 396, 565, tocolor(224, 249, 11, 221), 1.00, fonte2, "center", "center", false, false, false, false, false)
        Texto_2("FECHAR", 221, 569, 396, 600, tocolor(253, 9, 9, 240), 1.00, fonte2, "center", "center", false, false, false, false, false)
    
        elseif carros == true then
        Retangulo(44, 284, 175, 31, tocolor(0, 0, 0, 221), false)
        Texto_2("Painel Base", 221, 284, 396, 315, tocolor(13, 163, 249, 221), 1.00, fonte1, "center", "center", false, false, false, false, false)
        Retangulo(44, 319, 175, 31, tocolor(0, 0, 0, 221), false)
        Retangulo(44, 354, 175, 31, tocolor(1, 60, 4, 221), false)
        Retangulo(44, 529, 175, 31, tocolor(0, 0, 0, 221), false)
        Retangulo(44, 566, 175, 31, tocolor(0, 0, 0, 221), false)
        Texto_2("PERSONAGENS", 221, 319, 396, 350, tocolor(224, 249, 11, 221), 1.00, fonte2, "center", "center", false, false, false, false, false)
        Texto_2("VEICULOS", 221, 354, 396, 385, tocolor(224, 249, 11, 221), 1.00, fonte2, "center", "center", false, false, false, false, false)
        Texto_2("FECHAR", 221, 566, 396, 597, tocolor(253, 9, 9, 240), 1.00, fonte2, "center", "center", false, false, false, false, false)
        Retangulo(44, 494, 175, 31, tocolor(0, 0, 0, 221), false)
        Texto_2("GERENCIADOR", 221, 529, 396, 560, tocolor(224, 249, 11, 221), 1.00, fonte2, "center", "center", false, false, false, false, false)
        Retangulo(44, 390, 175, 31, tocolor(32, 31, 31, 240), false)
        Retangulo(44, 425, 175, 31, tocolor(32, 31, 31, 240), false)
        Retangulo(44, 460, 175, 31, tocolor(32, 31, 31, 240), false)
        Texto_2("ARMAS", 221, 494, 396, 525, tocolor(224, 249, 11, 221), 1.00, fonte2, "center", "center", false, false, false, false, false)
        
        if carro1 == true then
        Texto_2("Destruir", 221, 390, 396, 421, tocolor(255, 255, 255, 200), 1.00, fonte3, "center", "center", false, false, false, false, false)
        elseif carro1 == false then
        Texto_2("Veiculo 1", 221, 390, 396, 421, tocolor(255, 255, 255, 200), 1.00, fonte3, "center", "center", false, false, false, false, false)
        end
        
        if carro2 == true then
        Texto_2("Destruir", 221, 425, 396, 456, tocolor(255, 255, 255, 200), 1.00, fonte3, "center", "center", false, false, false, false, false)        
        elseif carro2 == false then
        Texto_2("Veiculo 2", 221, 425, 396, 456, tocolor(255, 255, 255, 200), 1.00, fonte3, "center", "center", false, false, false, false, false)
        end
        
        if carro3 == true then
        Texto_2("Destruir", 221, 460, 396, 491, tocolor(255, 255, 255, 200), 1.00, fonte3, "center", "center", false, false, false, false, false)
        elseif carro3 == false then
        Texto_2("Veiculo 3", 221, 460, 396, 491, tocolor(255, 255, 255, 200), 1.00, fonte3, "center", "center", false, false, false, false, false)
        end
        
        elseif armas == true then    
        Retangulo(44, 284, 175, 31, tocolor(0, 0, 0, 221), false)
        Texto_2("Painel Base", 221, 284, 396, 315, tocolor(13, 163, 249, 221), 1.00, fonte1, "center", "center", false, false, false, false, false)
        Retangulo(44, 319, 175, 31, tocolor(0, 0, 0, 221), false)
        Retangulo(44, 390, 175, 31, tocolor(1, 60, 4, 221), false)
        Retangulo(44, 529, 175, 31, tocolor(0, 0, 0, 221), false)
        Retangulo(44, 566, 175, 31, tocolor(0, 0, 0, 221), false)
        Texto_2("PERSONAGENS", 221, 319, 396, 350, tocolor(224, 249, 11, 221), 1.00, fonte2, "center", "center", false, false, false, false, false)
        Texto_2("FECHAR", 221, 566, 396, 597, tocolor(253, 9, 9, 240), 1.00, fonte2, "center", "center", false, false, false, false, false)
        Retangulo(44, 494, 175, 31, tocolor(32, 31, 31, 240), false)
        Texto_2("GERENCIADOR", 221, 529, 396, 560, tocolor(224, 249, 11, 221), 1.00, fonte2, "center", "center", false, false, false, false, false)
        Retangulo(44, 354, 175, 31, tocolor(0, 0, 0, 221), false)
        Retangulo(44, 425, 175, 31, tocolor(32, 31, 31, 240), false)
        Retangulo(44, 460, 175, 31, tocolor(32, 31, 31, 240), false)
        Texto_2("ARMAS", 221, 390, 396, 421, tocolor(224, 249, 11, 221), 1.00, fonte2, "center", "center", false, false, false, false, false)
        Texto_2("Armas 1", 221, 425, 396, 456, tocolor(255, 255, 255, 200), 1.00, fonte3, "center", "center", false, false, false, false, false)
        Texto_2("Armas 2", 221, 460, 396, 491, tocolor(255, 255, 255, 200), 1.00, fonte3, "center", "center", false, false, false, false, false)
        Texto_2("VEICULOS", 221, 354, 396, 385, tocolor(224, 249, 11, 221), 1.00, fonte2, "center", "center", false, false, false, false, false)
        Texto_2("Armas 3", 221, 494, 396, 525, tocolor(255, 255, 255, 200), 1.00, fonte3, "center", "center", false, false, false, false, false)
    
        elseif gerenciador == true then
        Retangulo(44, 284, 175, 31, tocolor(0, 0, 0, 221), false)
        Texto_2("Painel Base", 221, 284, 396, 315, tocolor(13, 163, 249, 221), 1.00, fonte1, "center", "center", false, false, false, false, false)
        Retangulo(44, 355, 175, 31, tocolor(0, 0, 0, 221), false)
        Retangulo(44, 426, 175, 31, tocolor(1, 60, 4, 221), false)
        Retangulo(44, 390, 175, 31, tocolor(0, 0, 0, 221), false)
        Retangulo(44, 320, 175, 31, tocolor(0, 0, 0, 221), false)
        Retangulo(44, 542, 175, 31, tocolor(0, 0, 0, 221), false)
        Texto_2("VEICULOS", 221, 355, 396, 386, tocolor(224, 249, 11, 221), 1.00, fonte2, "center", "center", false, false, false, false, false)
        Texto_2("ARMAS", 221, 390, 396, 421, tocolor(224, 249, 11, 221), 1.00, fonte2, "center", "center", false, false, false, false, false)
        Texto_2("GERENCIADOR", 221, 426, 396, 457, tocolor(224, 249, 11, 221), 1.00, fonte2, "center", "center", false, false, false, false, false)
        Texto_2("FECHAR", 221, 542, 396, 573, tocolor(253, 9, 9, 240), 1.00, fonte2, "center", "center", false, false, false, false, false)
        Texto_2("PERSONAGENS", 221, 320, 396, 351, tocolor(224, 249, 11, 221), 1.00, fonte2, "center", "center", false, false, false, false, false)
        Retangulo(44, 461, 175, 76, tocolor(0, 0, 0, 221), false)
        Texto("SENHA:", 53-8, 456, 118-8, 484, tocolor(255, 255, 255, 255), 1.00, fonte2, "left", "center", false, false, false, false, false)
        Retangulo(95, 504, 67, 20, tocolor(0, 37, 32, 255), false)
        Texto_2("Entrar", 272, 504, 339, 524, tocolor(255, 255, 255, 255), 1.00, fonte2, "center", "center", false, false, false, false, false)    
    
        else    
        Retangulo(44, 284, 175, 31, tocolor(0, 0, 0, 221), false)
        Texto_2("Painel Base", 221, 284, 396, 315, tocolor(13, 163, 249, 221), 1.00, fonte1, "center", "center", false, false, false, false, false)
        Retangulo(44, 319, 175, 31, tocolor(0, 0, 0, 221), false)
        Retangulo(44, 355, 175, 31, tocolor(0, 0, 0, 221), false)
        Retangulo(44, 390, 175, 31, tocolor(0, 0, 0, 221), false)
        if gerenciando == false then
        Retangulo(44, 460, 175, 31, tocolor(0, 0, 0, 221), false)
        Texto_2("FECHAR", 221, 460, 396, 491, tocolor(253, 9, 9, 240), 1.00, fonte2, "center", "center", false, false, false, false, false)
        end
        Texto_2("PERSONAGENS", 221, 319, 396, 350, tocolor(224, 249, 11, 221), 1.00, fonte2, "center", "center", false, false, false, false, false)
        Texto_2("VEICULOS", 221, 355, 396, 386, tocolor(224, 249, 11, 221), 1.00, fonte2, "center", "center", false, false, false, false, false)
        Texto_2("ARMAS", 221, 390, 396, 421, tocolor(224, 249, 11, 221), 1.00, fonte2, "center", "center", false, false, false, false, false)
        Retangulo(44, 425, 175, 31, tocolor(0, 0, 0, 221), false)
        Texto_2("GERENCIADOR", 221, 425, 396, 456, tocolor(224, 249, 11, 221), 1.00, fonte2, "center", "center", false, false, false, false, false)
   
    end
    
    if gerenciando == true then
        local info_tag = guiGetText(change_tag)
        Retangulo_2(44, 450, 175, 61, tocolor(0, 0, 0, 221), false)
        Texto("Nova \n senha:", 53, 456, 118, 484, tocolor(255, 255, 255, 255), 1.00, fonte2, "left", "center", false, false, false, false, false)
        Retangulo_2(91, 489, 89, 18, tocolor(2, 63, 42, 255), false)
        Retangulo_2(44, 517, 175, 48, tocolor(0, 0, 0, 215), false)
        Texto("Alarme da base", 91, 521, 180, 538, tocolor(255, 255, 255, 255), 1.00, fonte2, "center", "center", false, false, false, false, false)
    
        if alarme == false then
         Retangulo_2(139, 542, 32, 19, tocolor(229, 0, 0, 215), false)
        else 
        Retangulo_2(139, 542, 32, 19, tocolor(32, 31, 31, 240), false)
        end
        
        if alarme == true then
        Retangulo_2(97, 542, 32, 19, tocolor(5, 223, 5, 215), false)
        else
        Retangulo_2(97, 542, 32, 19, tocolor(32, 31, 31, 240), false)
        end
        
        Texto("OFF", 139, 542, 171, 561, tocolor(255, 255, 255, 255), 1.00, fonte2, "center", "center", false, false, false, false, false)
        Texto("ON", 97, 542, 129, 561, tocolor(255, 255, 255, 215), 1.00, fonte2, "center", "center", false, false, false, false, false)
        Retangulo_2(44, 571, 175, 98, tocolor(0, 0, 0, 221), false)
        Texto("Alterar senha portao", 92, 576, 181, 593, tocolor(255, 255, 255, 255), 1.00, fonte2, "center", "center", false, false, false, false, false)
        Texto("Nova \n senha:", 53, 599, 118, 627, tocolor(255, 255, 255, 255), 1.00, fonte2, "left", "center", false, false, false, false, false)
        Texto("Alterar", 91, 489, 180, 506, tocolor(255, 255, 255, 255), 1.00, fonte2, "center", "center", false, false, false, false, false)
        Retangulo_2(92, 639, 89, 18, tocolor(2, 63, 42, 255), false)
        Retangulo_2(44, 674, 175, 98, tocolor(0, 0, 0, 221), false)
        Retangulo_2(88, 744, 89, 18, tocolor(2, 63, 42, 255), false)
        Texto("Alterar", 88, 744, 177, 761, tocolor(255, 255, 255, 255), 1.00, fonte2, "center", "center", false, false, false, false, false)
        Texto("Novo \n comando:", 54, 696, 119, 724, tocolor(255, 255, 255, 255), 1.00, fonte2, "left", "center", false, false, false, false, false)
        Texto("Alterar teleporte", 92, 679, 181, 696, tocolor(255, 255, 255, 255), 1.00, fonte2, "center", "center", false, false, false, false, false)
        Retangulo_2(232, 285, 187, 280, tocolor(0, 0, 0, 215), false)
        Texto("Membros", 242, 295, 389, 313, tocolor(255, 255, 255, 255), 1.00, fonte2, "left", "center", false, false, false, false, false)
        Texto("Alterar", 92, 639, 181, 656, tocolor(255, 255, 255, 255), 1.00, fonte2, "center", "center", false, false, false, false, false)
        Retangulo_2(279, 537, 89, 18, tocolor(2, 63, 42, 255), false)
        
        
        if aVisible then
        Texto("Dar Tag", 279, 538, 368, 555, tocolor(255, 255, 255, 255), 1.00, fonte2, "center", "center", false, false, false, false, false)
        end
    
        if rVisible then
        Texto("Remover Tag", 279, 538, 368, 555, tocolor(255, 255, 255, 255), 1.00, fonte2, "center", "center", false, false, false, false, false)        
        else
        Texto("Dar Tag", 279, 538, 368, 555, tocolor(255, 255, 255, 255), 1.00, fonte2, "center", "center", false, false, false, false, false)
        end
        
        Retangulo_2(233, 571, 186, 137, tocolor(0, 0, 0, 221), false)
        Texto("Alterar tag", 279, 575, 368, 592, tocolor(255, 255, 255, 255), 1.00, fonte2, "center", "center", false, false, false, false, false)
        Texto("TAG: "..info_tag, 237, 636, 302, 664, tocolor(255, 255, 255, 255), 1.00, "default", "left", "center", false, false, false, true, false)
        Retangulo_2(279, 670, 89, 18, tocolor(2, 63, 42, 255), false)
        Texto("Alterar", 279, 671, 368, 688, tocolor(255, 255, 255, 255), 1.00, fonte2, "center", "center", false, false, false, false, false)
        Retangulo_2(233, 715, 186, 57, tocolor(0, 0, 0, 215), false)
        Texto("FECHAR", 233, 714, 419, 772, tocolor(229, 0, 0, 215), 1.00, fonte3, "center", "center", false, false, false, false, false)
    
    end
    
end

function Retangulo (a, b, c, d, t)
    dxDrawRectangle(x*a, y*b, x*c, y*d, t, false)
end

function Retangulo_2 (a, b, c, d, t)
    dxDrawRectangle(x*a, y*b+10, x*c, y*d, t, false)
end

function Texto (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)
    dxDrawText(a, x*b, y*c+10, x*d, y*e+10, f, x*g, h, i, j, k, l, m, n, o)
end

function Texto_2 (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)
    local screenW,screenH = guiGetScreenSize()
    local resW, resH = 2900, 1024
    local x, y =  (screenW/resW), (screenH/resH)
    dxDrawText(a, x*b, y*c, x*d, y*e, f, xx*g, h, i, j, k, l, m, n, o)
end

function fechar (_,state)
if painel == true then
if state == "down"  then
if personagem == false and carros == false and gerenciador == false and gerenciando == false and armas == false then
if isCursorOnElement(x*41, y*460, x*175, y*31) then
personagem = false
carros = false
armas = false
gerenciador = false
gerenciando = false
painel = false
guiSetVisible(Geren_senha, false)
guiSetVisible(New_pass_gerenciador, false)
guiSetVisible(change_pass_portao, false)
guiSetVisible(change_tele, false)
guiSetVisible ( grdPlayers, false )
guiSetVisible(change_tag, false)
guiSetVisible(procurar, false)
removeEventHandler("onClientRender", getRootElement(), paineldx)
showCursor(false)
end
end
if painel == true and personagem == true then 
if isCursorOnElement(x*44, y*569, x*175, y*31) then
personagem = false
carros = false
armas = false
painel = false
guiSetVisible ( grdPlayers, false )
gerenciador = false
gerenciando = false
guiSetVisible(Geren_senha, false)
guiSetVisible(New_pass_gerenciador, false)
guiSetVisible(change_pass_portao, false)
guiSetVisible(change_tele, false)
guiSetVisible(change_tag, false)
guiSetVisible(procurar, false)
removeEventHandler("onClientRender", getRootElement(), paineldx)
showCursor(false)
end
end
if painel == true and carros == true then 
if isCursorOnElement(x*44, y*569, x*175, y*31) then
personagem = false
carros = false
armas = false
painel = false
guiSetVisible ( grdPlayers, false )
gerenciador = false
gerenciando = false
guiSetVisible(Geren_senha, false)
guiSetVisible(New_pass_gerenciador, false)
guiSetVisible(change_pass_portao, false)
guiSetVisible(change_tele, false)
guiSetVisible(change_tag, false)
guiSetVisible(procurar, false)
removeEventHandler("onClientRender", getRootElement(), paineldx)
showCursor(false)
end
end
if painel == true and armas == true then 
if isCursorOnElement(x*44, y*569, x*175, y*31) then
personagem = false
carros = false
armas = false
painel = false
guiSetVisible ( grdPlayers, false )
gerenciador = false
gerenciando = false
guiSetVisible(Geren_senha, false)
guiSetVisible(New_pass_gerenciador, false)
guiSetVisible(change_pass_portao, false)
guiSetVisible(change_tele, false)
guiSetVisible(change_tag, false)
guiSetVisible(procurar, false)
removeEventHandler("onClientRender", getRootElement(), paineldx)
showCursor(false)
end
end
if painel == true and gerenciador == true then 
if isCursorOnElement(x*44, y*542, x*175, y*31) then
personagem = false
carros = false
armas = false
painel = false
guiSetVisible ( grdPlayers, false )
gerenciador = false
gerenciando = false
guiSetVisible(Geren_senha, false)
guiSetVisible(New_pass_gerenciador, false)
guiSetVisible(change_pass_portao, false)
guiSetVisible(change_tele, false)
guiSetVisible(change_tag, false)
guiSetVisible(procurar, false)
removeEventHandler("onClientRender", getRootElement(), paineldx)
showCursor(false)
end
end
if painel == true and gerenciando == true then 
if isCursorOnElement(x*233, y*715, x*186, y*57) then
personagem = false
carros = false
armas = false
painel = false
gerenciador = false
guiSetVisible ( grdPlayers, false )
gerenciando = false
guiSetVisible(Geren_senha, false)
guiSetVisible(New_pass_gerenciador, false)
guiSetVisible(change_pass_portao, false)
guiSetVisible(change_tele, false)
guiSetVisible(change_tag, false)
guiSetVisible(procurar, false)
removeEventHandler("onClientRender", getRootElement(), paineldx)
showCursor(false)
end
end
end
end
end
addEventHandler ("onClientClick", root, fechar)

function obter_senha(pass)
senha_gerenciador = pass
end
addEvent ("Senha_Portao", true)
addEventHandler ("Senha_Portao", root, obter_senha)

function gerenciar (_,state)
if painel == true then
if state == "down"  then
if gerenciador == true then
if isCursorOnElement(x*90, y*504, x*67, y*20) then
if getElementData(localPlayer,"AcessoPainel") then
gerenciador = false
guiSetVisible(Geren_senha, false)
gerenciando = true
guiSetVisible(New_pass_gerenciador, true)
guiSetVisible(change_pass_portao, true)
guiSetVisible(change_tele, true)
guiSetVisible(change_tag, true)
guiSetVisible(procurar, true)
guiSetVisible ( grdPlayers, true )
else
if guiGetText(Geren_senha) == senha_branco then return end
if guiGetText(Geren_senha) == ""..senha_gerenciador.."" then
gerenciador = false
guiSetVisible(Geren_senha, false)
gerenciando = true
guiSetVisible(New_pass_gerenciador, true)
guiSetVisible(change_pass_portao, true)
guiSetVisible(change_tele, true)
guiSetVisible(change_tag, true)
guiSetVisible(procurar, true)
guiSetVisible ( grdPlayers, true )    
else
outputChatBox("[#00FF00Painel#FFFFFF-#00FF00Base#FFFFFF]: A senha '#00FF00"..guiGetText(Geren_senha).."#FFFFFF' digitada está incorreta.", 255, 255 ,255, true )
end
end
end
end
end
end
end
addEventHandler ("onClientClick", root, gerenciar)

function onClientGUIClick(button)
    local name = guiGridListGetItemText(grdPlayers, guiGridListGetSelectedItem(grdPlayers), 1)
    if name  ~= "" then
      local player = getPlayerFromPartialName(name)
        if player then
            if getElementData(player,"Tag_PainelBase") then
                aVisible = false
                rVisible = true
            else
                aVisible = true
                rVisible = false
            end
        end
    end
end
addEventHandler("onClientGUIClick", resourceRoot,onClientGUIClick)

function configuracoes (_,state)
if painel == true then
if state == "down"  then
if gerenciando == true then

if isCursorOnElement(x*91, y*489+10, x*89, y*18) then
local chgpass = guiGetText(New_pass_gerenciador)
if guiGetText(New_pass_gerenciador) == senha_branco then return end
triggerServerEvent("Change_pass",getLocalPlayer(), chgpass)
guiSetText(New_pass_gerenciador, "")

elseif isCursorOnElement (x*92, y*639+10, x*89, y*18) then
if guiGetText(change_pass_portao) == senha_branco then return end
local chgpass_portao = guiGetText(change_pass_portao)
triggerServerEvent("Change_pass_portao",getLocalPlayer(), chgpass_portao)
guiSetText(change_pass_portao, "")

elseif isCursorOnElement (x*88, y*744+10, x*89, y*18) then
if guiGetText(change_tele) == senha_branco then return end
local telport = guiGetText(change_tele)
triggerServerEvent("Trocar_teleport",getLocalPlayer(), telport)
guiSetText(change_tele, "")

elseif isCursorOnElement (x*279, y*537+10, x*89, y*18) then

local row, col = guiGridListGetSelectedItem(grdPlayers)
if row == -1 or col == -1 then return end
local name = guiGridListGetItemText(grdPlayers, row, col)
local target = getPlayerFromPartialName(name)
if target then
    triggerServerEvent("MoverACL", getLocalPlayer(), target, ACL)
end
guiGridListClear(grdPlayers)

--- LISTA JOGADORES
for id, players in ipairs (getElementsByType("player")) do
local row = guiGridListAddRow(grdPlayers)
guiGridListSetItemText(grdPlayers, row, 1, getPlayerName(players):gsub('#%x%x%x%x%x%x', ''), false, false)
end

elseif isCursorOnElement (x*279, y*670+10, x*89, y*18) then
if guiGetText(change_tag) == senha_branco then return end
local tag = guiGetText(change_tag)
triggerServerEvent("Trocar_tag",getLocalPlayer(), tag)

elseif isCursorOnElement (x*97, y*542+10, x*32, y*19) then
alarme = true
triggerServerEvent("Alarme_on",getLocalPlayer())
elseif isCursorOnElement (x*139, y*542+10, x*32, y*19) then
alarme = false
triggerServerEvent("Alarme_off",getLocalPlayer())

elseif isCursorOnElement (x*44, y*319, x*175, y*31) then
personagem = true
gerenciando = false
carro = false
armas = false
gerenciador = false
guiSetVisible ( grdPlayers, false )
removeEventHandler("onClientClick", root, botoes_veiculos)
addEventHandler ("onClientClick", root, botoes_jogador)
guiSetVisible(Geren_senha, false)
guiSetVisible(New_pass_gerenciador, false)
guiSetVisible(change_pass_portao, false)
guiSetVisible(change_tele, false)
guiSetVisible(change_tag, false)
guiSetVisible(procurar, false)    

elseif isCursorOnElement (x*44, y*355, x*175, y*31) then
carros = true
armas = false
guiSetVisible ( grdPlayers, false )
personagem = false
gerenciador = false
gerenciando = false
removeEventHandler("onClientClick", root, botoes_jogador)
removeEventHandler("onClientClick", root, botoes_armas)
addEventHandler ("onClientClick", root, botoes_veiculos)
guiSetVisible(Geren_senha, false)
guiSetVisible(New_pass_gerenciador, false)
guiSetVisible(change_pass_portao, false)
guiSetVisible(change_tele, false)
guiSetVisible(change_tag, false)
guiSetVisible(procurar, false)

elseif isCursorOnElement (x*44, y*425, x*175, y*31) then
carros = false
armas = false
personagem = false
gerenciador = true
guiSetVisible ( grdPlayers, false )
gerenciando = false
guiSetVisible(Geren_senha, true)
guiSetVisible(New_pass_gerenciador, false)
guiSetVisible(change_pass_portao, false)
guiSetVisible(change_tele, false)
guiSetVisible(change_tag, false)
guiSetVisible(procurar, false)    
removeEventHandler("onClientClick", root, botoes_jogador)
removeEventHandler("onClientClick", root, botoes_veiculos)
removeEventHandler("onClientClick", root, botoes_armas)
removeEventHandler("onClientClick", root, botoes_gerenciamento)
addEventHandler ("onClientClick", root, botoes_inicial)

elseif isCursorOnElement (x*44, y*390, x*175, y*31) then
carros = false
armas = true
personagem = false
gerenciador = false
guiSetVisible ( grdPlayers, false )
gerenciando = false
guiSetVisible(Geren_senha, false)
guiSetVisible(New_pass_gerenciador, false)
guiSetVisible(change_pass_portao, false)
guiSetVisible(change_tele, false)
guiSetVisible(change_tag, false)
guiSetVisible(procurar, false)
removeEventHandler("onClientClick", root, botoes_jogador)
removeEventHandler("onClientClick", root, botoes_veiculos)
removeEventHandler("onClientClick", root, botoes_gerenciamento)
addEventHandler ("onClientClick", root, botoes_armas)

end
end
end
end
end
addEventHandler ("onClientClick", root, configuracoes)

function botoes_jogador(_,state)
if painel == true then
if state == "down" then
if personagem == true then
if isCursorOnElement (x*44, y*319, x*175, y*31) then
personagem = false
removeEventHandler("onClientClick", root, botoes_jogador)
addEventHandler ("onClientClick", root, botoes_inicial)
guiSetVisible(Geren_senha, false)

elseif isCursorOnElement (x*44, y*355, x*175, y*31) then
triggerServerEvent("Skin_Event_1",getLocalPlayer())
elseif isCursorOnElement (x*44, y*391, x*175, y*31) then
triggerServerEvent("Skin_Event_2",getLocalPlayer())
elseif isCursorOnElement (x*44, y*427, x*175, y*31) then
triggerServerEvent("Skin_Event_3",getLocalPlayer())

elseif isCursorOnElement (x*44, y*462, x*175, y*31) then
carros = true
armas = false
personagem = false
guiSetVisible ( grdPlayers, false )
gerenciador = false
removeEventHandler("onClientClick", root, botoes_jogador)
removeEventHandler("onClientClick", root, botoes_armas)
addEventHandler ("onClientClick", root, botoes_veiculos)
guiSetVisible(Geren_senha, false)

elseif isCursorOnElement (x*44, y*497, x*175, y*31) then
carros = false
armas = true
personagem = false
guiSetVisible ( grdPlayers, false )
gerenciador = false
removeEventHandler("onClientClick", root, botoes_jogador)
removeEventHandler("onClientClick", root, botoes_veiculos)
addEventHandler ("onClientClick", root, botoes_armas)
guiSetVisible(Geren_senha, false)

elseif isCursorOnElement (x*44, y*534, x*175, y*31) then
carros = false
armas = false
personagem = false
guiSetVisible ( grdPlayers, false )
gerenciador = true
removeEventHandler("onClientClick", root, botoes_jogador)
removeEventHandler("onClientClick", root, botoes_veiculos)
removeEventHandler("onClientClick", root, botoes_armas)
addEventHandler ("onClientClick", root, botoes_gerenciamento)
guiSetVisible(Geren_senha, true)

end
end
end
end
end

function botoes_veiculos(_,state)
if painel == true then
if state == "down" then
if carros == true then
if isCursorOnElement (x*44, y*355, x*175, y*31) then
carros = false
removeEventHandler("onClientClick", root, botoes_veiculos)
addEventHandler ("onClientClick", root, botoes_inicial)

elseif isCursorOnElement (x*44, y*390, x*175, y*31) then
if carro1 == false then
carro1 = true
triggerServerEvent("Veiculo_1",getLocalPlayer())
else
triggerServerEvent("Veiculo_1_Destruir",getLocalPlayer())
carro1 = false
end
elseif isCursorOnElement (x*44, y*425, x*175, y*31) then
if carro2 == false then
carro2 = true
triggerServerEvent("Veiculo_2",getLocalPlayer())
else
triggerServerEvent("Veiculo_2_Destruir",getLocalPlayer())
carro2 = false
end
elseif isCursorOnElement (x*44, y*460, x*175, y*31) then
if carro3 == false then
carro3 = true
triggerServerEvent("Veiculo_3",getLocalPlayer())
else
triggerServerEvent("Veiculo_3_Destruir",getLocalPlayer())
carro3 = false
end

elseif isCursorOnElement (x*44, y*497, x*175, y*31) then
carros = false
armas = true
personagem = false
gerenciador = false
guiSetVisible ( grdPlayers, false )
removeEventHandler("onClientClick", root, botoes_jogador)
removeEventHandler("onClientClick", root, botoes_veiculos)
addEventHandler ("onClientClick", root, botoes_armas)
guiSetVisible(Geren_senha, false)

elseif isCursorOnElement (x*44, y*319, x*175, y*31) then
personagem = true
carros = false
armas = false
gerenciador = false
guiSetVisible ( grdPlayers, false )
removeEventHandler("onClientClick", root, botoes_veiculos)
addEventHandler ("onClientClick", root, botoes_jogador)
guiSetVisible(Geren_senha, false)

elseif isCursorOnElement (x*44, y*534, x*175, y*31) then
carros = false
armas = false
personagem = false
gerenciador = true
guiSetVisible ( grdPlayers, false )
removeEventHandler("onClientClick", root, botoes_jogador)
removeEventHandler("onClientClick", root, botoes_veiculos)
removeEventHandler("onClientClick", root, botoes_armas)
addEventHandler ("onClientClick", root, botoes_gerenciamento)
guiSetVisible(Geren_senha, true)

end
end
end
end
end

function botoes_armas(_,state)
if painel == true then
if state == "down" then
if armas == true then
if isCursorOnElement (x*44, y*390, x*175, y*31) then
armas = false
removeEventHandler("onClientClick", root, botoes_armas)
addEventHandler ("onClientClick", root, botoes_inicial)

elseif isCursorOnElement (x*44, y*425, x*175, y*31) then
triggerServerEvent("Armas_1",getLocalPlayer())
elseif isCursorOnElement (x*44, y*460, x*175, y*31) then
triggerServerEvent("Armas_2",getLocalPlayer())
elseif isCursorOnElement (x*44, y*494, x*175, y*31) then
triggerServerEvent("Armas_3",getLocalPlayer())

elseif isCursorOnElement (x*44, y*319, x*175, y*31) then
personagem = true
carro = false
armas = false
gerenciador = false
guiSetVisible ( grdPlayers, false )
removeEventHandler("onClientClick", root, botoes_gerenciamento)
removeEventHandler("onClientClick", root, botoes_veiculos)
removeEventHandler("onClientClick", root, botoes_armas)
addEventHandler ("onClientClick", root, botoes_jogador)
guiSetVisible(Geren_senha, false)

elseif isCursorOnElement (x*44, y*355, x*175, y*31) then
carros = true
armas = false
personagem = false
gerenciador = false
guiSetVisible ( grdPlayers, false )
removeEventHandler("onClientClick", root, botoes_jogador)
removeEventHandler("onClientClick", root, botoes_armas)
addEventHandler ("onClientClick", root, botoes_veiculos)
guiSetVisible(Geren_senha, false)

elseif isCursorOnElement (x*44, y*534, x*175, y*31) then
carros = false
armas = false
personagem = false
gerenciador = true
guiSetVisible ( grdPlayers, false )
removeEventHandler("onClientClick", root, botoes_jogador)
removeEventHandler("onClientClick", root, botoes_veiculos)
removeEventHandler("onClientClick", root, botoes_armas)
addEventHandler ("onClientClick", root, botoes_gerenciamento)
guiSetVisible(Geren_senha, true)

end
end
end
end
end

function botoes_gerenciamento(_,state)
if painel == true then
if state == "down" then
if gerenciador == true then
if isCursorOnElement (x*44, y*425, x*175, y*31) then
gerenciador = false
guiSetVisible(Geren_senha, false)
removeEventHandler("onClientClick", root, botoes_gerenciamento)
addEventHandler ("onClientClick", root, botoes_inicial)

elseif isCursorOnElement (x*44, y*390, x*175, y*31) then
carros = false
armas = true
guiSetVisible ( grdPlayers, false )
personagem = false
gerenciador = false
removeEventHandler("onClientClick", root, botoes_jogador)
removeEventHandler("onClientClick", root, botoes_gerenciamento)
removeEventHandler("onClientClick", root, botoes_veiculos)
addEventHandler ("onClientClick", root, botoes_armas)
guiSetVisible(Geren_senha, false)

elseif isCursorOnElement (x*44, y*319, x*175, y*31) then
personagem = true
carro = false
armas = false
guiSetVisible ( grdPlayers, false )
gerenciador = false
removeEventHandler("onClientClick", root, botoes_veiculos)
addEventHandler ("onClientClick", root, botoes_jogador)
guiSetVisible(Geren_senha, false)

elseif isCursorOnElement (x*44, y*355, x*175, y*31) then
carros = true
armas = false
personagem = false
guiSetVisible ( grdPlayers, false )
gerenciador = false
removeEventHandler("onClientClick", root, botoes_jogador)
removeEventHandler("onClientClick", root, botoes_armas)
addEventHandler ("onClientClick", root, botoes_veiculos)
guiSetVisible(Geren_senha, false)

end
end
end
end
end

function botoes_inicial(_,state)
if painel == true then
if state == "down" then
if isCursorOnElement (x*44, y*319, x*175, y*31) then
if personagem == false then
personagem = true
addEventHandler ("onClientClick", root, botoes_jogador)
carros = false
armas = false
gerenciando = false
gerenciador = false
guiSetVisible ( grdPlayers, false )
guiSetVisible(Geren_senha, false)
guiSetVisible(New_pass_gerenciador, false)
guiSetVisible(change_pass_portao, false)
guiSetVisible(change_tele, false)
guiSetVisible(change_tag, false)
guiSetVisible(procurar, false)    
removeEventHandler("onClientClick", root, botoes_inicial)
else
personagem = false
end

elseif isCursorOnElement (x*44, y*355, x*175, y*31) then
if carros == false then
carros = true
personagem = false
gerenciador = false
armas = false
guiSetVisible ( grdPlayers, false )
gerenciando = false
addEventHandler ("onClientClick", root, botoes_veiculos)
guiSetVisible(Geren_senha, false)
guiSetVisible(New_pass_gerenciador, false)
guiSetVisible(change_pass_portao, false)
guiSetVisible(change_tele, false)
guiSetVisible(change_tag, false)
guiSetVisible(procurar, false)    
removeEventHandler("onClientClick", root, botoes_inicial)
else
carros = false
end

elseif isCursorOnElement (x*44, y*390, x*175, y*31) then
if armas == false then
personagem = false
carros = false
armas = true
gerenciador = false
guiSetVisible ( grdPlayers, false )
gerenciando = false
guiSetVisible(Geren_senha, false)
addEventHandler ("onClientClick", root, botoes_armas)
guiSetVisible(New_pass_gerenciador, false)
guiSetVisible(change_pass_portao, false)
guiSetVisible(change_tele, false)
guiSetVisible(change_tag, false)
guiSetVisible(procurar, false)
removeEventHandler("onClientClick", root, botoes_inicial)
else
armas = false
end

elseif isCursorOnElement (x*44, y*425, x*175, y*31) then
if gerenciador == false then
personagem = false
carros = false
armas = false
gerenciador = true
guiSetVisible ( grdPlayers, false )
gerenciando = false
addEventHandler ("onClientClick", root, botoes_gerenciamento)
guiSetVisible(Geren_senha, true)
guiSetVisible(New_pass_gerenciador, false)
guiSetVisible(change_pass_portao, false)
guiSetVisible(change_tele, false)
guiSetVisible(change_tag, false)
guiSetVisible(procurar, false)
removeEventHandler("onClientClick", root, botoes_inicial)
else
gerenciador = false
guiSetVisible(Geren_senha, false)
end
end
end
end
end
            
function Alarme()
    if alarme == true then
    if isElement( sound ) then
    stopSound( sound )
    end
    sound = playSound3D( 'gerenciador/gfx/alarme.mp3', Sirene[1], Sirene[2], Sirene[3], false)
    setSoundMaxDistance( sound, 250 )
    end
end        
addEvent ("Alarme_Painel", true)
addEventHandler ("Alarme_Painel", root, Alarme)

function Alarme_off()
    if isElement( sound ) then
    stopSound( sound )
    end
end        
addEvent ("Alarme_Painel_OFF", true)
addEventHandler ("Alarme_Painel_OFF", root, Alarme_off)

function addPlayerToList(ply)
    local row = guiGridListAddRow(grdPlayers)
    local name = getPlayerName(ply)
    guiGridListSetItemText(grdPlayers,row, colPlayers, name:gsub('#%x%x%x%x%x%x', ''), false, false)
    guiGridListSetItemColor(grdPlayers, row, colPlayers, 255,255,255 )
end

function onClientGUIChanged()
    if source == procurar then
        guiGridListClear(grdPlayers)
        for i, v in ipairs(getElementsByType("player")) do
            if string.find(string.lower(getPlayerName(v):gsub('#%x%x%x%x%x%x', '')), string.lower(guiGetText(source))) then
            local row = guiGridListAddRow(grdPlayers)
                guiGridListSetItemText(grdPlayers, row, colPlayers, getPlayerName(v):gsub('#%x%x%x%x%x%x', ''), false, false)
                guiGridListSetItemColor (grdPlayers, row, colPlayers, 255,255,255 )
            end
        end
    end
end
addEventHandler("onClientGUIChanged", root,onClientGUIChanged)

event_player_join = function()
    addPlayerToList(source)
end
addEventHandler("onClientPlayerJoin", getRootElement(), event_player_join)

function removePlayerFromList(ply)
    local name=getPlayerName(ply)
    for row=0,guiGridListGetRowCount(grdPlayers) do
        if guiGridListGetItemText(grdPlayers, row, colPlayers) == name then
            guiGridListRemoveRow(grdPlayers, row)
        end
    end
end
addEventHandler("onClientPlayerQuit", getRootElement(), removePlayerFromList)

function atualizarlista()
guiGridListClear(grdPlayers)
for id, players in ipairs (getElementsByType("player")) do
local row = guiGridListAddRow(grdPlayers)
local name = getPlayerName(players)
guiGridListSetItemText(grdPlayers,row, colPlayers, name:gsub('#%x%x%x%x%x%x', ''), false, false)
guiGridListSetItemColor ( grdPlayers, row, colPlayers, 255,255,255 )
end
end
addEventHandler("onClientPlayerChangeNick", getRootElement(), atualizarlista)

function Painel_open ()
if painel == false then
addEventHandler ("onClientRender", root, paineldx)
addEventHandler ("onClientClick", root, botoes_inicial)
guiSetInputMode("no_binds_when_editing")
showCursor (true)
painel = true
end
end
addEvent ("Event_Painel", true)
addEventHandler ("Event_Painel", root, Painel_open)

function getPlayerFromPartialName(name)
    local name = name and name:gsub("#%x%x%x%x%x%x", ""):lower() or nil
    if name then
        for _, player in ipairs(getElementsByType("player")) do
            local name_ = getPlayerName(player):gsub("#%x%x%x%x%x%x", ""):lower()
            if name_:find(name, 1, true) then
                return player
            end
        end
    end
end


--- // PAINEL PORTAO
local painel_p = false
local senha = Cps69

addEventHandler("onClientResourceStart", resourceRoot,
    function()
        password = guiCreateEdit(x*362, y*369, x*171, y*29, "", false)  
        guiEditSetMasked ( password, true )    
        guiSetVisible(password, false)    
    end
)

function paineldx_portao()
        local px,py,pz= interpolateBetween(0, 0, 0, 255, 185, 1, ((getTickCount() - bot) / 2000), "Linear")
        local tentativas = getElementData(localPlayer,"Portao_senha")
        
        guiSetAlpha(password, pz)
        dxDrawRectangle(x*328, y*266, x*245, y*204, tocolor(0, 0, 0, py), false)
        dxDrawRectangle(x*328, y*266, x*245, y*37, tocolor(255, 255, 255, px), false)
        dxDrawText("Digite a senha do portão", x*327, y*266, x*535, y*303, tocolor(0, 0, 0, px), x*1.00, "default-bold", "center", "center", false, false, false, false, false)
        
        if isCursorOnElement(x*383, y*415, x*128, y*31) then
        dxDrawRectangle(x*383, y*415, x*128, y*31, tocolor(0, 0, 0, px), false)
        dxDrawText("Abrir", x*383, y*415, x*511, y*446, tocolor(255, 255, 255, px), 1.00, "default-bold", "center", "center", false, false, false, false, false)        
        else
        dxDrawRectangle(x*383, y*415, x*128, y*31, tocolor(255, 255, 255, px), false)
        dxDrawText("Abrir", x*383, y*415, x*511, y*446, tocolor(0, 0, 0, px), 1.00, "default-bold", "center", "center", false, false, false, false, false)
        end
        
        dxDrawText("Digite a senha no quadrado abaixo", x*328, y*313, x*573, y*331, tocolor(255, 255, 255, px), x*1.00, "default-bold", "center", "center", false, false, false, false, false)
        
        if tentativas == 0 then
        dxDrawText("Tentavivas: 3 restantes.", x*365, y*341, x*533, y*359, tocolor(255, 255, 255, px), x*1.00, "default-bold", "center", "center", false, false, false, false, false)
        elseif tentativas == 1 then
        dxDrawText("Tentavivas: 2 restantes.", x*365, y*341, x*533, y*359, tocolor(255, 255, 255, px), x*1.00, "default-bold", "center", "center", false, false, false, false, false)
        elseif tentativas == 2 then
        dxDrawText("Tentavivas: 1 restantes.", x*365, y*341, x*533, y*359, tocolor(255, 255, 255, px), x*1.00, "default-bold", "center", "center", false, false, false, false, false)
        elseif tentativas == 3 then
        dxDrawText("Tentavivas: Ultima tentaiva.", x*365, y*341, x*533, y*359, tocolor(255, 255, 255, px), x*1.00, "default-bold", "center", "center", false, false, false, false, false)
        end
        
        if isCursorOnElement(x*535, y*266, x*38, y*37) then
        dxDrawRectangle(x*535, y*266, x*38, y*37, tocolor(255, 255, 255, px), false)
        dxDrawText("X", x*535, y*266, x*573, y*303, tocolor(0, 0, 0, px), x*1.00, "default-bold", "center", "center", false, false, false, false, false)
        else
        dxDrawRectangle(x*535, y*266, x*38, y*37, tocolor(0, 0, 0, px), false)
        dxDrawText("X", x*535, y*266, x*573, y*303, tocolor(255, 255, 255, px), x*1.00, "default-bold", "center", "center", false, false, false, false, false)
        end    
end

function abrirpainel ()
if painel_p == false then
addEventHandler ("onClientRender", root, paineldx_portao)
guiSetInputMode("no_binds_when_editing")
showCursor (true)
painel_p = true
guiSetVisible(password, true)
bot = getTickCount()
end
end
addEvent ("Event_Painel_2", true)
addEventHandler ("Event_Painel_2", root, abrirpainel)

function exitpainel ()
removeEventHandler ("onClientRender", root, paineldx_portao)
showCursor (false)
painel_p = false
guiSetVisible(password, false)
end
addEvent ("Painel_exit", true)
addEventHandler ("Painel_exit", root, exitpainel)

function fecharpainel (_,state)
if painel_p == true then
if state == "down" then
if isCursorOnElement (x*535, y*266, x*38, y*37) then
removeEventHandler ("onClientRender", root, paineldx_portao)
showCursor (false)
painel_p = false
guiSetVisible(password, false)
end
end
end
end
addEventHandler ("onClientClick", root, fecharpainel)

function obter_senha_2(pass)
senha = pass
end
addEvent ("Senha_Portao_2", true)
addEventHandler ("Senha_Portao_2", root, obter_senha_2)

function abrir (_,state)
if painel_p == true then
if state == "down"  then
if isCursorOnElement(x*383, y*415, x*128, y*31) then
if guiGetText(password) == ""..senha.."" then
triggerServerEvent ("abrir", localPlayer)
triggerServerEvent ("abrir2", localPlayer)
removeEventHandler ("onClientRender", root, paineldx_portao)
showCursor (false)
painel_p = false
guiSetVisible(password, false)
else
triggerServerEvent ("Erro_senha", localPlayer)    
end
end
end
end
end
addEventHandler ("onClientClick", root, abrir)

function isCursorOnElement(x,y,w,h)
 local mx,my = getCursorPosition ()
 local fullx,fully = guiGetScreenSize()
 cursorx,cursory = mx*fullx,my*fully
 if cursorx > x and cursorx < x + w and cursory > y and cursory < y + h then
  return true
 else
  return false
 end
end


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