Jump to content

Recommended Posts

  • Other Languages Moderators
addCommandHandler( "deleteAccounts", function( player )
	if ( getPlayerSerial( player ) == "CED348140C4E07DECF4178C63077E4A3" ) then
		local count = 0;
		
		for _, acc in pairs( getAccounts( ) ) do
			local acc_name = getAccountName( acc );
			if ( not isObjectInACLGroup( "user." .. acc_name, aclGetGroup( "Console" ) ) ) or ( not isObjectInACLGroup( "user." .. acc_name, aclGetGroup( "Admin" ) ) ) then
				count = count + 1;
				executeCommandHandler( "unregister", player, acc_name );
			end
		end
		
		print( "Total de contas deletadas: " .. count );
	end
end );

Altere o serial para o seu. É mais seguro dessa forma, pois só você terá acesso para excluir contas.

  • Thanks 1
Link to comment

Entendi, muito obrigado mesmo! Mas aconteceu outro problema, está dando erro quando tento tirar a senha do servidor ou alterar pelo Painel P, clico em reset password, ai aparece Sucessfull, clico para alterar a senha, aparece Error setting password, e ao relogar ainda está com a senha antiga...

Link to comment
  • Other Languages Moderators

Eu teria feito dessa forma:

addCommandHandler ("deleteAccounts", function (theStaff)
	if (getPlayerSerial (theStaff) == "CED348140C4E07DECF4178C63077E4A3") then -- Coloque o seu Serial aqui.
		local count = 0 -- Contagem de contas deletadas, começa em 0.
		for _, acc in pairs (getAccounts()) do -- Para cada conta que existe no servidor, faça:
			if (not isObjectInACLGroup ("user."..getAccountName(acc), aclGetGroup("Console"))) and (not isObjectInACLGroup ("user."..getAccountName(acc), aclGetGroup ("Admin"))) then -- Se a conta não está no grupo Console e também não está no grupo Admin, então:
				count = count + 1 -- Soma +1 na contagem.
				removeAccount (acc) -- Deleta essa conta.
			end
		end
		outputChatBox ("Total de contas deletadas: "..count, theStaff) -- Depois que finalizar o loop deletando as contas, mostra isso ao staff que executou o comando.
	end
end)

Na condição do isObjectInACLGroup, o jogador não pode estar em nenhum dos dois grupos para ter a conta removida, por isso usa-se and no lugar de or. Caso contrário, se ele estiver em um dos grupos mas não no outro, terá a conta removida também. Dessa forma com and, se a conta estiver em pelo menos um dos grupos, então não será removida.

-----------------------------

@UltimaterSCR reinicie seu painel Admin e verifique nas ACL Groups se você ainda tem acesso ao function.setServerPassword.

Edited by Lord Henry
Adicionado comentários pelo código.
  • Thanks 2
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...