Ir para conteúdo
  • Cadastre-se

Erro no script anti accmanager do Kilua


Posts Recomendados

Atualizado ~ Script Arrumado ~ 

local config = 
{
	max = 2, -- Quantos acc manager o mesmo ip pode logar de uma vez
	acc_name = "Account Manager", -- Nome do account manager
	ip_banishment = "true", -- Se logar mais acc manager do que o permitido, leva ban? "true" ou "false"
	banishment_length = 10 -- Quantos dias o ip fica banido?
}
	 
local accepted_ip_list = {""} -- lista dos ips permitidos a logar varios acc manager, -- exemplo: {"200.85.3.60", "201.36.5.222"}

function onLogin(cid)
	if getPlayerName(cid) == config.acc_name then
		if isInArray(accepted_ip_list, doConvertIntegerToIp(getPlayerIp(cid))) then
			return true
		end	
		if #getPlayersByIp(getPlayerIp(cid)) >= config.max then
			if config.ip_banishment == "true" then
				doAddIpBanishment(doConvertIntegerToIp(getPlayerIp(cid)), config.banishment_length * 24 * 60 * 60)
			end
			return false
		end
	end
	
	return true
end
Editado por luanluciano93 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Execute em sua DB:

CREATE TABLE ban_table (
        id         INTEGER NOT NULL,
        account  INTEGER NOT NULL,
        added   INTEGER NOT NULL,
        expires  INTEGER NOT NULL,
        admin_id INTEGER NOT NULL
                                         DEFAULT 0,
        comment  TEXT   NOT NULL,
        PRIMARY KEY ( id )
);

YDmXTU2.png

 

Entenda tudo sobre VPS, DEDICADOS & HOSPEDAGENS. => Clique aqui

Global Full Download 10.9x - TFS 1.2/FERUMBRAS/KRAILOS. => Clique aqui

 

Muitos querem aquilo que você tem, 
mas vão desistir quando souberem o preço que você pagou.

 

skype-favicon.png lu.lukinha

message-16.png [email protected]

Link para o post
Compartilhar em outros sites

muda essa linha: 

doAddIpBanishment(doConvertIntegerToIp(getPlayerIp(cid)), banishment_length * 24 * 60 * 60)

por isso: 

doAddIpBanishment(doConvertIntegerToIp(getPlayerIp(cid)), config.banishment_length * 24 * 60 * 60)
Link para o post
Compartilhar em outros sites
doAddIpBanishment(doConvertIntegerToIp(getPlayerIp(cid)), config.banishment_length * 24 * 60 * 60)

Funcionou perfeitamente obrigado. +rep

Link para o post
Compartilhar em outros sites

Ele setou a config, realmente esteve certo, porém também a db necessita da coluna, não era o erro, maaaas.. kk

Ainda bem que deu tudo certo, abraços.

YDmXTU2.png

 

Entenda tudo sobre VPS, DEDICADOS & HOSPEDAGENS. => Clique aqui

Global Full Download 10.9x - TFS 1.2/FERUMBRAS/KRAILOS. => Clique aqui

 

Muitos querem aquilo que você tem, 
mas vão desistir quando souberem o preço que você pagou.

 

skype-favicon.png lu.lukinha

message-16.png [email protected]

Link para o post
Compartilhar em outros sites

Voltei o scripit e ja arrumado :D

 

Outra duvida referente ao mesmo script, quando o char é banido ele continua online, so quando desloga e tenta voltar q ele descobre q foi banido, tem como kickar o char instantaneamente quando o primeiro acc manager entrar? 

Link para o post
Compartilhar em outros sites

O problema é que o player que da o comando pros acc manager entrar (/login) para tentar derrubar o servidor ou kickar os players, ele continua online mesmo banido, ele nao é kickado automaticante, so quando reloga ele nao consegue voltar, e no caso dos acc manager loga mais de 1000 e é kicked em seguida, essa repetição de entra e sai de mais de 1000 acc manager que faz o servidor travar, depois volta ao normal se nao der erro no distro. O player que ativo com o /login é banido e nao consegue repetir a operação, mais continua online ate resolver deslogar, não estou conseguindo fazer ele ser kickado automaticamente depois do ban. O script faz o que se pede, so nao desloga o char responsável pelo ataque. 

Link para o post
Compartilhar em outros sites

Tenta assim então: 

local config = 
{
	max = 2, -- Quantos acc manager o mesmo ip pode logar de uma vez
	acc_name = "Account Manager", -- Nome do account manager
	ip_banishment = "true", -- Se logar mais acc manager do que o permitido, leva ban? "true" ou "false"
	banishment_length = 10 -- Quantos dias o ip fica banido?
}
	 
local accepted_ip_list = {""} -- lista dos ips permitidos a logar varios acc manager, -- exemplo: {"200.85.3.60", "201.36.5.222"}

function onLogin(cid)
	if getPlayerName(cid) == config.acc_name then
		if isInArray(accepted_ip_list, doConvertIntegerToIp(getPlayerIp(cid))) then
			return true
		end	
		if #getPlayersByIp(getPlayerIp(cid)) >= config.max then
			if config.ip_banishment == "true" then
				doAddIpBanishment(doConvertIntegerToIp(getPlayerIp(cid)), config.banishment_length * 24 * 60 * 60)
				doRemoveCreature(cid)
			end
			return false
		end
	end
	
	return true
end
Link para o post
Compartilhar em outros sites
  • 2 weeks later...

Resolvido? Se sim clique na melhor resposta para o tópico ficar automaticamente como resolvido!


O tópico foi movido para a área correta, preste mais atenção da próxima vez!
Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680

Este tópico foi movido:
De: "OTServScriptingCreatureScripts, GlobalEvents e MoveMents"
Para: "OTServSuporte OTServSuporte de Scripts"
Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo