Jump to content

Como colocar para apenas Staff abrir o painel Handling


Recommended Posts

Posted

Meu servidor esta com handling de mod ativado, eu já entrei varias vezes nas configurações lua do handling achando aonde colocar isObjectInACLGroup e então nunca achei já coloquei vários em .lua (cliente side e sever side) do handling eu queria saber aonde e oque colocar pra só staffs ter acesso lembrando que a ACL é Staff.

Posted

Bom, tu iria ter que procurar a função que abre/fecha o painel para poder adiciona a função isObjectInACLGroup. Procura sempre por guiSetVisible, dai com facilidade tu chega até a função que abre e fecha.

Meu comentário foi útil? Deixe um Thanks :D

Posted
function startBuilding ( )
    if DEBUGMODE then
        outputDebugString ( "Building the gui.." )
    end
    
    if heditGUI.window then
        destroyGUI ( )
    end
    
    local template = getUserTemplate ( )
    
    if not template then
        if DEBUGMODE then
        end

        return false
    end

    local window = buildMainWindow ( template )
    buildUtilButtons ( template )
    buildMenuButtons ( template )
    buildMenus ( template )
    buildSpecials ( template )
    
    guiSetVisible ( window, false )
    
    toggleEvents ( window, true )
    
    forceVehicleChange ( )

    checkTheUpdates ( ) -- We check the updates after the gui has been build, because like this the updates will get listed upon a setting change too.
    
    bindKey ( getUserConfig ( "usedKey" ), "down", toggleEditor )
    addCommandHandler ( getUserConfig ( "usedCommand" ), toggleEditor )
    
    return true
end

Aonde coloca?

 

  • Moderators
Posted

IsObjectInACLGroup é uma função server-side. Não tem como colocar junto com guiSetVisible, que é uma função client-side.

  • Like 1

Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanksspacer.png

Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile
Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment
Discord Oficial do MTA: https://mtasa.com/discord
Blacklist e Whitelist de Scripters: Planilha

Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.

Posted

Se eu soubesse kkkk Sou muito iniciante nisso, desculpe.

addEventHandler ( "onPlayerLogin", root, function ( )
    local admin = isObjectInACLGroup ( "user."..getAccountName ( getPlayerAccount ( source ) ), aclGetGroup ( "Admin" ) )
    triggerClientEvent ( source, "updateClientRights", source, true, admin )
end )

Achei isso em Core.lua Sever side.

Posted

Não tem isObjectInACLGroup em cliente side

addEvent ( "requestRights", true )
addEventHandler ( "requestRights", root, function ( )
    if not isValidPlayer ( client ) then
        if DEBUGMODE then
            error ( "Invalid client at event 'requestRights'!", 2 )
        end
        return false
    end
    
    local pAccount = getPlayerAccount ( client )
    if isGuestAccount ( pAccount ) then
        triggerClientEvent ( client, "updateClientRights", client, false, false )
    else
        local admin = isObjectInACLGroup ( "user."..getAccountName ( pAccount ), aclGetGroup ( "Admin" ) )
        triggerClientEvent ( client, "updateClientRights", client, true, admin )
    end
end )

Mais um em Server-side

Posted
function startBuilding ( )
    if DEBUGMODE then
        outputDebugString ( "Building the gui.." )
    end
    
    if heditGUI.window then
        destroyGUI ( )
    end
    
    local template = getUserTemplate ( )
    
    if not template then
        if DEBUGMODE then
        end

        return false
    end

    local window = buildMainWindow ( template )
    buildUtilButtons ( template )
    buildMenuButtons ( template )
    buildMenus ( template )
    buildSpecials ( template )
    
    guiSetVisible ( window, false )
    
    toggleEvents ( window, true )
    
    forceVehicleChange ( )

    checkTheUpdates ( ) -- We check the updates after the gui has been build, because like this the updates will get listed upon a setting change too.
    
    bindKey ( getUserConfig ( "usedKey" ), "down", toggleEditor )
    addCommandHandler ( getUserConfig ( "usedCommand" ), toggleEditor )
    
    return true
end

 

Posted

Tu tem que achar a função que abre o painel e passar por triggerEvent. 
Exemplo:

--CLIENT-SIDE

function AbrirPainel ()
		showCursor(true)
		guiSetVisible(Painel, true)
    else          
		showCursor(false)
		guiSetVisible(Painel, false)
  end
end
addEvent("Open_Painel", true)
addEventHandler("Open_Painel", resourceRoot, AbrirPainel)
-- Server Side


Grupo = "Console"
function OpenGerenciador(source)
  	accountname = getAccountName(getPlayerAccount(source))
  	if isObjectInACLGroup("user." .. accountname, aclGetGroup(Grupo)) then
   		 triggerClientEvent(source, "Open_Painel", root)
  	end
end

function BindStart()
  	for index, player in ipairs(getElementsByType("player")) do
   		 bindKey(player, "b", "down", OpenGerenciador)
  	end
end
addEventHandler("onResourceStart", root, BindStart)

function onPlayerJoin()
  	bindKey(source, "b", "down", OpenGerenciador)
end
addEventHandler("onPlayerJoin", getRootElement(), onPlayerJoin)

function StopMod(player)
  	for index, player in ipairs(getElementsByType("player")) do
    	unbindKey(player, "b", "down", OpenGerenciador)
  	end
end
addEventHandler("onResourceStop", root, StopMod)

 

Meu comentário foi útil? Deixe um Thanks :D

Posted
addEventHandler ( "onPlayerLogin", root, function ( ) ----- Server-Side
    local admin = isObjectInACLGroup ( "user."..getAccountName ( getPlayerAccount ( source ) ), aclGetGroup ( "Admin" ) )
    triggerClientEvent ( source, "updateClientRights", source, true, admin )
	triggerClientEvent(source, "showMenu", root)
end )

----- Client-Side

addEvent ( "showMenu", true )
addEventHandler ( "showMenu", root, guiShowMenu )

 

  • 1 year later...
  • Moderators
Posted

@[R]odrigues não peça mods prontos aqui. Isso viola as regras do fórum.

E não reviva tópicos antigos.

Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanksspacer.png

Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile
Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment
Discord Oficial do MTA: https://mtasa.com/discord
Blacklist e Whitelist de Scripters: Planilha

Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

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