[Pedido] Sistema Anti-Mc

Fprince
em Lixeira Pública

Fprince

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 14/04/11Posts: 0

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!!

luisfelipinho15

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 17/03/11Posts: 35

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

Ajudei??Rep+

Cotar.jpg

meubk

@miillerdomingues
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 21/04/08Posts: 311

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.

Tktforever

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 14/11/11Posts: 32Char no Tibia: Owned

Ta dando erro esses 2 Script o.O

KleytonAfonso

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 31/12/10Posts: 4Char no Tibia: Kleyton Afonso

Aqui funcionou vlw