Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Configure a quantidade máxima de acc manager's
Kick automático nos account manager's com mesmo ip detectado
Sistema eficaz sem erros no console

Instalação:
Em data/creaturescripts/scripts abra o arquivo login.lua e adicione abaixo de function onLogin(cid) o seguinte código:

local maxaccbyip = 5
local accm = {}
local pbi = getPlayersByIp(getPlayerIp(cid))
function antiTumb(cid)
for _,player in ipairs(pbi) do
if getCreatureName(player) == "Account Manager" then
table.insert(accm, player)
end
end
if #accm > maxaccbyip then
print("Foi ultrapassado o limite maximo de contas online com o seguinte ip "..convertIntToIP(getPlayerIp(cid)).."\npor motivos de seguranca todos os accounts managers com esse ip foram kickados\nAnti-Nuker System 2.0")
for _,player in ipairs(accm) do
doRemoveCreature(player)
end
end
return true
end
addEvent(antiTumb, 10, cid)

Salve e pronto script instalado!

Créditos:
Ledtherón

Editado por Animal Pak (veja o histórico de edições)

x1fCxnI.png

Link para o post
Compartilhar em outros sites

:accept: Seu tutorial foi aprovado, você recebeu um ponto de reputação e o tópico será movido para a área correta.

Te ajudei?? REP + e ficamos quites... <ahttp://www.tibiaking.com/forum/uploads/emoticons/default_happyy.png' alt=';D'>

Atenciosamente,

Daniel.

Abraços!

Link para o post
Compartilhar em outros sites

Liguei o ot aki em casa, Logou os account mananger normalmente '-' , Pode me mandar seu server para eu ver se funciona ?

 

 

 

 

 

 

Link para o post
Compartilhar em outros sites

É esse da minha assinatura :)

Tentei editar o tópico pelo celular bugou a formatação, hora que eu estiver no meu computador eu arrumo!

Editado por Animal Pak (veja o histórico de edições)

x1fCxnI.png

Link para o post
Compartilhar em outros sites
local config = {
loginMessage = getConfigValue('loginMessage')
}
 
function onLogin(cid)
-- ANTI-NUKER BY LEDTHER0N]
local maxaccbyip = 3
local accm = {}
local pbi = getPlayersByIp(getPlayerIp(cid))
function antiTumb(cid)
for _,player in ipairs(pbi) do
if getCreatureName(player) == "Account Manager" then
table.insert(accm, player)
end
end
if #accm > maxaccbyip then
print("Foi ultrapassado o limite maximo de contas online com o seguinte ip "..convertIntToIP(getPlayerIp(cid)).."\npor motivos de seguranca todos os accounts managers com esse ip foram kickados\nAnti-Nuker System 2.0")
for _,player in ipairs(accm) do
doRemoveCreature(player)
end
end
return true
end
addEvent(antiTumb, 10, cid)
-- ANTI-NUKER BY LEDTHER0N
local loss = getConfigValue('deathLostPercent')
if(loss ~= nil) then
doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, loss * 10)
end
 
local accountManager = getPlayerAccountManager(cid)
if(accountManager == MANAGER_NONE) then
local lastLogin, str = getPlayerLastLoginSaved(cid), config.loginMessage
if(lastLogin > 0) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
str = "Your last visit was on " .. os.date("%a %b %d %X %Y", lastLogin) .. "."
else
str = str .. " Please choose your outfit."
doPlayerSendOutfitWindow(cid)
end
 
doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
elseif(accountManager == MANAGER_NAMELOCK) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, it appears that your character has been namelocked, what would you like as your new name?")
elseif(accountManager == MANAGER_ACCOUNT) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to manage your account and if you want to start over then type 'cancel'.")
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to create an account or type 'recover' to recover an account.")
end
 
if(not isPlayerGhost(cid)) then
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
end
    
registerCreatureEvent(cid, "showKD")
registerCreatureEvent(cid, "Mail")
registerCreatureEvent(cid, "anunciarmorte")
registerCreatureEvent(cid, "Antimagebomb")
registerCreatureEvent(cid, "YouDead")
registerCreatureEvent(cid, "GuildMotd")
 
registerCreatureEvent(cid, "killer")
registerCreatureEvent(cid, "Idle")
 
registerCreatureEvent(cid, "attackguild") 
registerCreatureEvent(cid, "advance")
registerCreatureEvent(cid, "FimVip")
 
registerCreatureEvent(cid, "forever amulet")
registerCreatureEvent(cid, "SkullCheck")
registerCreatureEvent(cid, "ReportBug")
 
registerCreatureEvent(cid, "VipReceive")
registerCreatureEvent(cid, "PlayerKill")
 
    if (InitArenaScript ~= 0) then
    InitArenaScript = 1
    -- make arena rooms free
        for i = 42300, 42309 do
            setGlobalStorageValue(i, 0)
            setGlobalStorageValue(i+100, 0)
        end
    end
    -- if he did not make full arena 1 he must start from zero
    if getPlayerStorageValue(cid, 42309) < 1 then
        for i = 42300, 42309 do
            setPlayerStorageValue(cid, i, 0)
        end
    end
    -- if he did not make full arena 2 he must start from zero
    if getPlayerStorageValue(cid, 42319) < 1 then
        for i = 42310, 42319 do
            setPlayerStorageValue(cid, i, 0)
        end
    end
    -- if he did not make full arena 3 he must start from zero
    if getPlayerStorageValue(cid, 42329) < 1 then
        for i = 42320, 42329 do
            setPlayerStorageValue(cid, i, 0)
        end
    end
    if getPlayerStorageValue(cid, 42355) == -1 then
        setPlayerStorageValue(cid, 42355, 0) -- did not arena level
    end
    setPlayerStorageValue(cid, 42350, 0) -- time to kick 0
    setPlayerStorageValue(cid, 42352, 0) -- is not in arena  
	
return true
end

 

 

 

 

 

 

Link para o post
Compartilhar em outros sites

Tenta esse:

local config = {
loginMessage = getConfigValue('loginMessage')
}
 
function onLogin(cid)
local maxaccbyip = 1
local accm = {}
local pbi = getPlayersByIp(getPlayerIp(cid))
function antiTumb(cid)
for _,player in ipairs(pbi) do
if getCreatureName(player) == "Account Manager" then
table.insert(accm, player)
end
end
if #accm > maxaccbyip then
print("Foi ultrapassado o limite maximo de contas online com o seguinte ip "..convertIntToIP(getPlayerIp(cid)).."\npor motivos de seguranca todos os accounts managers com esse ip foram kickados\nAnti-Nuker System 2.0")
for _,player in ipairs(accm) do
doRemoveCreature(player)
end
end
return true
end
addEvent(antiTumb, 10, cid)

local loss = getConfigValue('deathLostPercent')
if(loss ~= nil) then
doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, loss * 10)
end
 
local accountManager = getPlayerAccountManager(cid)
if(accountManager == MANAGER_NONE) then
local lastLogin, str = getPlayerLastLoginSaved(cid), config.loginMessage
if(lastLogin > 0) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
str = "Your last visit was on " .. os.date("%a %b %d %X %Y", lastLogin) .. "."
else
str = str .. " Please choose your outfit."
doPlayerSendOutfitWindow(cid)
end
 
doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
elseif(accountManager == MANAGER_NAMELOCK) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, it appears that your character has been namelocked, what would you like as your new name?")
elseif(accountManager == MANAGER_ACCOUNT) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to manage your account and if you want to start over then type 'cancel'.")
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to create an account or type 'recover' to recover an account.")
end
 
if(not isPlayerGhost(cid)) then
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
end
    
registerCreatureEvent(cid, "showKD")
registerCreatureEvent(cid, "Mail")
registerCreatureEvent(cid, "anunciarmorte")
registerCreatureEvent(cid, "Antimagebomb")
registerCreatureEvent(cid, "YouDead")
registerCreatureEvent(cid, "GuildMotd")
 
registerCreatureEvent(cid, "killer")
registerCreatureEvent(cid, "Idle")
 
registerCreatureEvent(cid, "attackguild") 
registerCreatureEvent(cid, "advance")
registerCreatureEvent(cid, "FimVip")
 
registerCreatureEvent(cid, "forever amulet")
registerCreatureEvent(cid, "SkullCheck")
registerCreatureEvent(cid, "ReportBug")
 
registerCreatureEvent(cid, "VipReceive")
registerCreatureEvent(cid, "PlayerKill")
 
    if (InitArenaScript ~= 0) then
    InitArenaScript = 1
    -- make arena rooms free
        for i = 42300, 42309 do
            setGlobalStorageValue(i, 0)
            setGlobalStorageValue(i+100, 0)
        end
    end
    -- if he did not make full arena 1 he must start from zero
    if getPlayerStorageValue(cid, 42309) < 1 then
        for i = 42300, 42309 do
            setPlayerStorageValue(cid, i, 0)
        end
    end
    -- if he did not make full arena 2 he must start from zero
    if getPlayerStorageValue(cid, 42319) < 1 then
        for i = 42310, 42319 do
            setPlayerStorageValue(cid, i, 0)
        end
    end
    -- if he did not make full arena 3 he must start from zero
    if getPlayerStorageValue(cid, 42329) < 1 then
        for i = 42320, 42329 do
            setPlayerStorageValue(cid, i, 0)
        end
    end
    if getPlayerStorageValue(cid, 42355) == -1 then
        setPlayerStorageValue(cid, 42355, 0) -- did not arena level
    end
    setPlayerStorageValue(cid, 42350, 0) -- time to kick 0
    setPlayerStorageValue(cid, 42352, 0) -- is not in arena  
	
return true
end
Editado por Animal Pak (veja o histórico de edições)

x1fCxnI.png

Link para o post
Compartilhar em outros sites
  • 1 year later...

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