Lucas Pane Posted February 17, 2020 Share Posted February 17, 2020 (edited) Olá, Bom (a) [Dia / Tarde / Noite]. Estou Desenvolvendo um Painel "admin" , e nele quero implementar uma função de "Reiniciar" todas bases do Servidor utilizando " restartResource ". Gostaria saber se tem como "reiniciar" todas as bases usando a mesma função, sem ter que criar várias funções de acordo com cada bases. Exemplo: restartResource (res) + (outroResource) + (outroResource) O recurso até o momento; function ReiniciarBases() local allResources = getResources() for index, res in ipairs(allResources) do, if getResourceState(res) == "running" then restartResource(res) end end end Outra duvida sobre o tempo -> Em que parte eu poderia definir um "temporizador" para reutilizar essa função novamente? Outra duvida sobre Grupos -> Como fazer para ativar a permissão por ACL nesse script? É possível adicionar mais de uma ACL? Edited February 17, 2020 by Lucas Pane Link to comment
Lucas Pane Posted February 17, 2020 Author Share Posted February 17, 2020 (edited) Sobre a ACL, se eu colocar isso, vai funcionar? Acl = "Console" Comando = "adm" function abrirPainel (source,command) local acc = getAccountName(getPlayerAccount(source)) if isObjectInACLGroup("user."..acc, aclGetGroup (Acl)) then end end addCommandHandler (Comando, abrirPainel) Sobre varias ACL´s, posso usar isso? if isObjectInACLGroup("user."..acc, aclGetGroup (Acl)) or isObjectInACLGroup("user."..acc, aclGetGroup (Acl)) then Edited February 17, 2020 by Lucas Pane Link to comment
Angelo Pereira Posted February 18, 2020 Share Posted February 18, 2020 (edited) # 1º Dúvida, Faça : (Verificar Resource) function ReiniciarBases() local allResources = getResources() for index, res in ipairs(allResources) do if getResourceState(res) == "running" then if getResourceName(res) == "nome_do_resource_1" or getResourceName(res) == "nome_do_resource_2" then --/> Adicione + RESOURCE restartResource(res) end end end end #2º Dúvida, Faça : (Temporizador na função). local temporizador = false local tempo = 60000*10 --/> 10 Minutos. function ReiniciarBases() if temporizador == true then return end --/> Caso verificar em true, então retornará. temporizador = true setTimer ( function () temporizador = false end, tempo, 1) local allResources = getResources() for index, res in ipairs(allResources) do if getResourceState(res) == "running" then if getResourceName(res) == "[BASE]1" or getResourceName(res) == "[BASE]2" then --/> Adicione + RESOURCE restartResource(res) end end end end #3º Dúvida (Várias ACL) + (Ativar Função : ReiniciarBases() ) acl1 = "Console" acl2 = "Admin" Comando = "adm" function abrirPainel ( source ) local acc = getAccountName(getPlayerAccount(source)) if isObjectInACLGroup("user."..acc, aclGetGroup (acl1)) or isObjectInACLGroup("user."..acc, aclGetGroup (acl2)) then ReiniciarBases() --/> Exemplo [APENAS, Caso queira executa essa função por Comando). end end addCommandHandler (Comando, abrirPainel) Edited February 18, 2020 by Angelo Pereira Link to comment
Other Languages Moderators Lord Henry Posted February 18, 2020 Other Languages Moderators Share Posted February 18, 2020 Para obter somente os resources que são bases, primeiramente todos eles devem ter seu type declarado no meta.xml como map em vez de script. Depois use getResourceInfo e obtenha o type de cada resource. Os que forem == "map" são os resources de base. No exemplo da wiki ele está verificando o author, troque pra type. Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now