Fprince 1 Postado Maio 2, 2011 Share Postado Maio 2, 2011 Ola pessoal, estou aqui porque presciso de um sistema-anti Multi-client compativel com meu ot, que eh o Carlin War 8.6 (http://www.xtibia.com/forum/topic/146454-860-carlin-war/), eu ja testei muitos sistemas, acho que mais de 10 qeu eu achei aqui no xtibia e em outros forums, mais nenhum funcionou, entaum se alguem souber fazer ou ja tiver esse sistema compativel com o meu server por favor me passe! Obrigado!! Link para o comentário Compartilhar em outros sites More sharing options...
luisfelipinho15 22 Postado Maio 3, 2011 Share Postado Maio 3, 2011 Bem vamos ao script: Va na pasta do seu server,data,creaturescripts,creaturescripts.xml E add isso: <event type="login" name="playercheck" script="playercheck.lua"/> Agora va na pasta scripts e crie um arquivo com o nome playercheck.lua E add isso dentro: function onLogin(cid, words, param, channel) local _ip = nil local p = 0 local list, ips = {}, {} local players = getPlayersOnline() for i, pid in ipairs(players) do local ip = getPlayerIp(pid) local tmp = table.find(ips, ip) if(tmp ~= nil and (not _ip or _ip == ip)) then if(table.countElements(list, ip) == 0) then list[players[tmp]] = ip end list[pid] = ip end table.insert(ips, ip) end if(table.maxn(list) > 0) then meip = getPlayerIp(cid) mename = getCreatureName(cid) for pid, ip in pairs(list) do local metmp = table.find(ips, meip) if (metmp ~= nil) then p = p + 1 end end if (p <= XXX) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce tem ".. p .." chars Online!") end if (p > XXX) then doRemoveCreature(cid, mename) end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce tem ".. p+1 .." char Online!") end return true end Legenda: XXX:Ai voce poem quantas contas entraram no server com o mesmo ip. Fim. Creditos: 90%Zerosky 10%TheDevilZ Link para o comentário Compartilhar em outros sites More sharing options...
meubk 257 Postado Maio 3, 2011 Share Postado Maio 3, 2011 mesmo esquema do de cima, só que vc só configura o limite ali... LIMITE = 1 -- limite de players com mesmo ip function onLogin(cid, words, param, channel) x = {} for _, pid in pairs(getPlayersOnline()) do if getPlayerIp(pid) == getPlayerIp(cid) then table.insert(x, pid) end end if #x > LIMITE then for _,pid in pairs(x) do doPlayerSendTextMessage(pid, 27, "Este Char Será logado em 5 segundos por haver outro char com mesmo ip.") addEvent(doRemoveCreature, 5000, pid) end end return true end se variso players tiver em lan, vai ser meio tenso. Link para o comentário Compartilhar em outros sites More sharing options...
Tktforever 2 Postado Novembro 15, 2011 Share Postado Novembro 15, 2011 Ta dando erro esses 2 Script Link para o comentário Compartilhar em outros sites More sharing options...
KleytonAfonso 0 Postado Fevereiro 11, 2012 Share Postado Fevereiro 11, 2012 Aqui funcionou vlw Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados