Lucas Pane Posted February 17, 2020 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
Lucas Pane Posted February 17, 2020 Author 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
Angelo Pereira Posted February 18, 2020 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 Página : MAD Scripting MTA Discord : Ângelo Pereira#4059 " Se eu te ajudei, deixe sua avaliação, obrigado ! "
Moderators Lord Henry Posted February 18, 2020 Moderators 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. Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanks! 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.
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