Jump to content

problemas com chamar staff


Recommended Posts

eu estou fazendo um script de chamar a staff so que ele funciona tudo certo o problema e que quando eu uso a infobox ele avisa manda o aviso de que nao tem staff on para cada staff que nao ta trabalhando por exemplo se um staff nao esta trabalhando so ta fazendo rp quando eu der /staff vai aparece que tem staff on e que nao tem staff vai mandar os dois avisos como posso resolver isso?

addCommandHandler("staff", function(playerSource,commandName)
    local db = getElementData(playerSource, "debounce")
    local ID = getElementData(playerSource, "ID") or "N/A"
     if db == false or not db then
        setElementData(playerSource,"debounce", true)
        for _, players in pairs(getElementsByType("player")) do
            if isObjectInACLGroup("user."..getAccountName(getPlayerAccount(players)), aclGetGroup("Staff")) and getElementData(players, "onProt") then
                showinfo(players, "O Cidadão "..getPlayerName(playerSource).." ( "..ID.." ) ".."solicitou ajuda", "info")
            end
            if isObjectInACLGroup("user."..getAccountName(getPlayerAccount(players)), aclGetGroup("Staff")) and getElementData(players, "onProt") == false then
                showinfo(playerSource,"Não tem staff ON", "error")
            else
                showinfo(playerSource, "Você chamou a staff !", "success")
            end        
        end
        setTimer(function()
        setElementData(playerSource, "debounce", false)
        end, 1500, 1)
     else
        showinfo(playerSource,"Você ja chamou !Aguarde um pouco", "error")  
     end     
end)

function showinfo(element, typeinfo, msg)  
    exports.infobox:addBox(element, typeinfo, msg)  
end

 

Edited by MKZ
Link to comment
On 11/08/2022 at 22:19, MKZ said:

eu estou fazendo um script de chamar a staff so que ele funciona tudo certo o problema e que quando eu uso a infobox ele avisa manda o aviso de que nao tem staff on para cada staff que nao ta trabalhando por exemplo se um staff nao esta trabalhando so ta fazendo rp quando eu der /staff vai aparece que tem staff on e que nao tem staff vai mandar os dois avisos como posso resolver isso?

addCommandHandler("staff", function(playerSource,commandName)
    local db = getElementData(playerSource, "debounce")
    local ID = getElementData(playerSource, "ID") or "N/A"
     if db == false or not db then
        setElementData(playerSource,"debounce", true)
        for _, players in pairs(getElementsByType("player")) do
            if isObjectInACLGroup("user."..getAccountName(getPlayerAccount(players)), aclGetGroup("Staff")) and getElementData(players, "onProt") then
                showinfo(players, "O Cidadão "..getPlayerName(playerSource).." ( "..ID.." ) ".."solicitou ajuda", "info")
            end
            if isObjectInACLGroup("user."..getAccountName(getPlayerAccount(players)), aclGetGroup("Staff")) and getElementData(players, "onProt") == false then
                showinfo(playerSource,"Não tem staff ON", "error")
            else
                showinfo(playerSource, "Você chamou a staff !", "success")
            end        
        end
        setTimer(function()
        setElementData(playerSource, "debounce", false)
        end, 1500, 1)
     else
        showinfo(playerSource,"Você ja chamou !Aguarde um pouco", "error")  
     end     
end)

function showinfo(element, typeinfo, msg)  
    exports.infobox:addBox(element, typeinfo, msg)  
end

 

Bom dia, tem vários possíveis erros em seu código, eu corrigi porem não testei... teste para mim por favor!
 

addCommandHandler("staff", function(playerSource)
	local db = getElementData(playerSource, "debounce")
	if not db then
		local staffon = false 
		for _, players in pairs(getElementsByType("player")) do
			if getPlayerAccount(players) and not isGuestAccount(getPlayerAccount(players)) then
				if isObjectInACLGroup("user."..getAccountName(getPlayerAccount(players)), aclGetGroup("Staff")) and getElementData(players, "onProt") then
					staffon = true 
				end   
			end     
		end
		if staffon then 
			local ID = getElementData(playerSource, "ID") or "N/A"
			setElementData(playerSource,"debounce", true)
			for _, player in ipairs(getElementsByType("player")) do
				if getPlayerAccount(players) and not isGuestAccount(getPlayerAccount(players)) then
					if isObjectInACLGroup("user."..getAccountName(getPlayerAccount(players)), aclGetGroup("Staff")) and getElementData(players, "onProt") then
						showinfo(players, "O Cidadão "..getPlayerName(playerSource).." ( "..ID.." ) solicitou ajuda", "info")
					end
				end
			end
			setTimer(function()
				setElementData(playerSource, "debounce", false)
			end, 1500, 1)
		else 
			showinfo(playerSource, "Não há staff on!", "error")
		end
	else
		showinfo(playerSource,"Você ja chamou staff! Aguarde um pouco", "error")  
	end     
end)

function showinfo(element, typeinfo, msg)  
	exports.infobox:addBox(element, typeinfo, msg)  
end

Outra coisa, você usa setElementData porém eu acho desnecessário... eu não mudei pois não sei se seu intuito ao usar essa data é apenas esse, mas recomendo a utilização de uma tabela com setTimer ai.

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