Ir para conteúdo
  • 0

Account Manager


Darkwath

Pergunta

Posts Recomendados

  • 0

Tem como colocar limite de account manager online?

por causa de nuker :x

 

Olá, tudo bem?

 

- Existe sim um método, mas não é pra limitar o account manager, e sim á quantidade de contas que um certo "ip" pode logar

e então você defini o número de contas, ex: 2 conta por IP

 

- Desse jeito, se o suposto 'nuker' tentar usar programas, para logar diversos account manager, o script não irá permitir e fará ele logar apenas + 1 account manager, e automáticamente deslogar os demais.

 

Se você deseja adicionar o script, faça o seguinte:

 

Entre na pasta "\data\globalevents\scripts" e crie um novo script com o nome "anti_nuker.lua" dentro do script coloque o seguinte:

 

 

--[[
Anti-nuker System by Sylar07
]]--
local config = {
msg = "Tibia system has detected that you are multi clienting.",
maxMultiClients = 2,
allowGroupId = 2,
ignoreIps = {}
}
function onLogin(cid)
if getPlayerGroupId(cid) >= config.allowGroupId then
return TRUE
end
local number
local playersOnline = getPlayersOnline()
for _, pid in pairs(playersOnline) do
local pip = getPlayerIp(pid)
if cid ~= pid and getPlayerIp(cid) == pip and not isInArray(config.ignoreIps, doConvertIntegerToIp(getPlayerIp(cid))) then
number = (number or 0) + 1
if number > config.maxMultiClients then
return FALSE, doPlayerPopupFYI(cid, config.msg)
end
end
end
return TRUE
end

 

Entenda o script:

 

Nessa parte, é definido á mensagem que irá aparecer quando o player logar com mais de uma conta.

 

msg = "Tibia system has detected that you are multi clienting.",

 

Aqui, indica á quantidade player por "ip" no exemplo, está indicado duas contas por "ip".

 

maxMultiClients = 2,

 

E essa parte permite que players com 'GroupId=2" podem logar com quantidade ilimitada de contas.

 

allowGroupId = 2,

 

Aqui você pode abrir uma exceção para algum ip, por exemplo:

 

ignoreIps = {"127.0.0.1"}

 

Continuando:

 

Após inserir adicionar o script "anti_nuker.lua" na pasta "\data\globalevents\scripts" adicione a seguinte tag no arquivo "globalevents.xml" que encontra-se na pasta de mesmo nome.

 

<event type="login" name="AntiNuker" event="script" value="anti_nuker.lua"/>

Editado por sylar07
Link para o comentário
Compartilhar em outros sites

  • 0

Limitar Account Managers.

local maxAccMngr = 5 -- Número máximo de account managers

function onLogin(cid)
local count = 0
if getCreatureName(cid) ~= 'Account Manager' then return true end

for _,pid in ipairs(getPlayersOnline()) do
if getCreatureName(pid) == 'Account Manager' then
count = count+1
end
end

if count >= maxAccMngr then
return doRemoveCreature(cid), false
end
return true
end

Link para o comentário
Compartilhar em outros sites

  • 0

hm e onde eu configuro isso?

 

- Acabei de editar o tutorial no meu primeiro post.

Acredito que este método que eu postei seja sua melhor opção

- já pensou limitar 5 account manager e tiver 10 pessoas querendo entrar no seu ot?

você acaba perdendo player...

 

- No método que passei, só limita á quantidade de contas online por "ip" e não o account manager, que é super importante para o servidor e seu crescimento.

Editado por sylar07
Link para o comentário
Compartilhar em outros sites

  • 0

LOL, kkkk, o do Byerne é bem superior, se tiver mais de 10 pessoas logadas no account manager ao mesmo tempo, isso seria muita sorte, pois é raro, caso você limitar o número de pessoas onlines por IP, ai sim você iria estar perdendo player, dã.

Existem pessoas da Lan-House que tentao entrar em ot server e se um nerd grita lá, vamos entrar nesse ot server, eu ouvi falar muito bem dele, o resto entra tbm e se só poder entrar 2 ou 3 pessoas por ip, vai perder uma grande parte da Lan-House.

 

Pensa véi, o do Byerne é sem dúvida, muito melhor.

Link para o comentário
Compartilhar em outros sites

  • 0

LOL, kkkk, o do Byerne é bem superior, se tiver mais de 10 pessoas logadas no account manager ao mesmo tempo, isso seria muita sorte, pois é raro, caso você limitar o número de pessoas onlines por IP, ai sim você iria estar perdendo player, dã.

Existem pessoas da Lan-House que tentao entrar em ot server e se um nerd grita lá, vamos entrar nesse ot server, eu ouvi falar muito bem dele, o resto entra tbm e se só poder entrar 2 ou 3 pessoas por ip, vai perder uma grande parte da Lan-House.

 

Pensa véi, o do Byerne é sem dúvida, muito melhor.

 

Obrigado, mas a questão também não é essa. Eu só fiz exatamente oque ele pediu. Dá pra blokear apenas account managers com IPs iguais. Sem muita dificuldade.

Link para o comentário
Compartilhar em outros sites

  • 0

 

.

 

 

Para quem quiser com IP e Account Managers:

Sem identação:

 

function getMyAccountManagersByIp(cid)
local c = 0
for _,pid in pairs(getPlayersByIp(getPlayerIp(cid)))
if getCreatureName(pid) == "Account Manager" then
c = c+1
end
end
return c
end

local maxAccMngr = 5 -- Número máximo de account managers

function onLogin(cid)
if getCreatureName(cid) ~= 'Account Manager' then return true end

if getMyAccountManagersByIp(cid) >= maxAccMngr then
return false, doRemoveCreature(cid)
end
return true
end

 

 

Identado:

Pastebin

Editado por Byerne
Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...