Darkwath 8 Postado Janeiro 21, 2012 Share Postado Janeiro 21, 2012 Tem como colocar limite de account manager online? por causa de nuker :x Link para o comentário Compartilhar em outros sites More sharing options...
0 sylar07 7 Postado Janeiro 21, 2012 Share Postado Janeiro 21, 2012 (editado) 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 Janeiro 21, 2012 por sylar07 Link para o comentário Compartilhar em outros sites More sharing options...
0 Darkwath 8 Postado Janeiro 21, 2012 Autor Share Postado Janeiro 21, 2012 hm e onde eu configuro isso? Link para o comentário Compartilhar em outros sites More sharing options...
0 bepokemon 101 Postado Janeiro 21, 2012 Share Postado Janeiro 21, 2012 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 More sharing options...
0 sylar07 7 Postado Janeiro 21, 2012 Share Postado Janeiro 21, 2012 (editado) 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 Janeiro 21, 2012 por sylar07 Link para o comentário Compartilhar em outros sites More sharing options...
0 Darkwath 8 Postado Janeiro 21, 2012 Autor Share Postado Janeiro 21, 2012 (editado) red dado Editado Janeiro 25, 2012 por Darkwath Link para o comentário Compartilhar em outros sites More sharing options...
0 HisashiitYamaguti 108 Postado Fevereiro 4, 2012 Share Postado Fevereiro 4, 2012 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 More sharing options...
0 bepokemon 101 Postado Fevereiro 4, 2012 Share Postado Fevereiro 4, 2012 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 More sharing options...
0 HisashiitYamaguti 108 Postado Fevereiro 4, 2012 Share Postado Fevereiro 4, 2012 Já estou usando no meu ot server, valeu ae. . Vou tedar rep+ amanhã, é que hoje eu já dei pra o meu amigo, xD. Link para o comentário Compartilhar em outros sites More sharing options...
0 bepokemon 101 Postado Fevereiro 4, 2012 Share Postado Fevereiro 4, 2012 (editado) . 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 Fevereiro 4, 2012 por Byerne Link para o comentário Compartilhar em outros sites More sharing options...
0 Darkwath 8 Postado Fevereiro 4, 2012 Autor Share Postado Fevereiro 4, 2012 ei cara como q eu ponho no config lua? Link para o comentário Compartilhar em outros sites More sharing options...
0 bepokemon 101 Postado Fevereiro 4, 2012 Share Postado Fevereiro 4, 2012 ei cara como q eu ponho no config lua? Como assim? Link para o comentário Compartilhar em outros sites More sharing options...
0 Darkwath 8 Postado Fevereiro 4, 2012 Autor Share Postado Fevereiro 4, 2012 config nao falei errado kkkkk é q eu pus ake no global events e nao funfo acabaro de me nukar Link para o comentário Compartilhar em outros sites More sharing options...
0 bepokemon 101 Postado Fevereiro 4, 2012 Share Postado Fevereiro 4, 2012 (editado) É em creaturescripts. Coloque isto dentro do login.lua em qualquer lugar depois de: function onLogin(cid) E antes de: return TRUE end Editado Fevereiro 4, 2012 por Byerne Link para o comentário Compartilhar em outros sites More sharing options...
0 Darkwath 8 Postado Fevereiro 4, 2012 Autor Share Postado Fevereiro 4, 2012 colokei meu ot caiu bunito Link para o comentário Compartilhar em outros sites More sharing options...
0 bepokemon 101 Postado Fevereiro 4, 2012 Share Postado Fevereiro 4, 2012 colokei meu ot caiu bunito Algumas distros não conseguem dar Reload em Creature Scripts. Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Darkwath 8
Tem como colocar limite de account manager online?
por causa de nuker :x
Link para o comentário
Compartilhar em outros sites
19 respostass a esta questão
Posts Recomendados