Ir para conteúdo

Featured Replies

Postado
  • Este é um post popular.

Bom, esse é um sistema anti-bot que vai funcionar da seguinte forma:

O Jogador fica online por 15 minutos

  • [Antibot]: Por favor escreva !antibot 5%8&9^2*3 sem simbolos. Ex: code: 1*5^8¿6%9 -> !antibot 15869.
  • Lembre-se você tem 2 minutos para fazer isso ou será kickado.
  • Jogador: !antibot 58923
  • [Antibot]: Aproveite seu tempo!

Caso o código esteja incorreto:

  • [Antibot]: Voce tem mais 2 chances para tentar novamente.

Caso o jogador escreva o código 3 vezes errado, será kickado, ou então, caso o jogador não escrever o código nos próximos 2 minutos (configurável) será kickado também.

Primeiro vá em data/creaturescripts/scripts/ e crie um arquivo chamado antibot.luae então cole:


local symbols = {"*", "^", "¿", "%", "&", "$"}


local timeBetweenQuestion = 15 * 60 --15 minutes

local timeToKick = 2 * 60 --2 minutes

local timeStorage = 65117

local codeStorage = 65118

local kickStorage = 65119

local timesStorage = 65121


function onThink(cid, interval)

if not isPlayer(cid) or getPlayerGroupId(cid) >= 3 then

  return

end


if getCreatureStorage(cid, timeStorage) < 1 then doCreatureSetStorage(cid, timeStorage, os.time() + timeBetweenQuestion) end


if getCreatureStorage(cid, kickStorage) > 0 and os.time() >= getCreatureStorage(cid, kickStorage) then

  local tmp = {timeStorage, kickStorage, timesStorage, codeStorage}

  for i = 1, #tmp do

   doCreatureSetStorage(cid, tmp[i], 0)

end

  return doRemoveCreature(cid)

end


if os.time() >= getCreatureStorage(cid, timeStorage) then

  local code, set = "", 0

  set = math.random(1, 100000)

  local s, e = 1, 1

  for i = 1, string.len(set) do

   code = (code == "" and string.sub(set, s, e) or code .. symbols[math.random(#symbols)] .. string.sub(set, s, e))

   s, e = s + 1, e + 1

  end


  doCreatureSetStorage(cid, codeStorage, set)

  doCreatureSetStorage(cid, kickStorage, os.time() + timeToKick)

  doCreatureSetStorage(cid, timeStorage, os.time() + timeBetweenQuestion)

  doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "[Antibot]: Por favor escreva !antibot " .. code .. " sem simbolos. Ex: code: 1*5^8¿6%9 -> !antibot 15869. Lembre-se voce tem " .. timeToKick / 60 .. " minutos para fazer isso ou sera kickado.")

end

return

end

Agora cole isso em data/creaturescripts/creaturescripts.xml:
<event type="think" name="Antibot" event="script" value="antibot.lua"/>
Cole isso em data/creaturescripts/scripts/login.lua:
local timeStorage = 65117

local codeStorage = 65118

local kickStorage = 65119

local timesStorage = 65121

registerCreatureEvent(cid, "Antibot")

doCreatureSetStorage(cid, codeStorage, 0)

doCreatureSetStorage(cid, kickStorage, 0)

doCreatureSetStorage(cid, timesStorage, 0)

doCreatureSetStorage(cid, timeStorage, 0)
Agora vá em data/talkactions/scripts,crie um arquivo criado antibot.lua e cole:
local codeStorage = 65118

local kickStorage = 65119

local timesStorage = 65121

local times = 3


function onSay(cid, words, param, channel)


if getCreatureStorage(cid, codeStorage) == 0 then

  return doPlayerSendCancel(cid, "Not yet.")

elseif tonumber(param) == tonumber(getCreatureStorage(cid, codeStorage)) then

  doCreatureSetStorage(cid, codeStorage, 0)

  doCreatureSetStorage(cid, kickStorage, 0)

  doCreatureSetStorage(cid, timesStorage, 0)

  doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "[Antibot]: Aproveite seu tempo!")

  return true

else

  if getCreatureStorage(cid, timesStorage) < 0 then doCreatureSetStorage(cid, timesStorage, 0) end


  doCreatureSetStorage(cid, timesStorage, getCreatureStorage(cid, timesStorage) + 1)

  if getCreatureStorage(cid, timesStorage) == times then

   doCreatureSetStorage(cid, codeStorage, 0)

   doCreatureSetStorage(cid, kickStorage, 0)

   doCreatureSetStorage(cid, timesStorage, 0)

   doRemoveCreature(cid)

   return true

  else

   return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "[Antibot]: Voce tem " .. times - getCreatureStorage(cid, storageTimes) .. " oportunidades para tentar novamente.")

  end

end

return true

end
Agora cole isso em data/talkactions/talkactions.xml:
 <talkaction words="!antibot" event="script" value="antibot.lua"/>
Caso você queria deixar o jogador banido por 1 (uma) hora, coloque isto:
return doAddAccountBanishment(getPlayerAccountId(cid),getPlayerGUID(cid), os.time() + 1*60*60, 12, 7, "Away from keyboard botter") and doRemoveCreature(cid)
No lugar de:
return doRemoveCreature(cid)

E isso é tudo pessoal, aproveitem o código, que por sinal, foi completamente feito por darkhaos com alguma colaboração de Gomgom e uma pequena parte minha, que deixei as frases em Português (BR) !

Editado por Guilherme. (veja o histórico de edições)

29161_4.png

 

 

2d168ur.png

 

  • 2 weeks later...
  • Respostas 5
  • Visualizações 4.4k
  • Created
  • Última resposta

Top Posters In This Topic

  • 1 month later...
Postado

Onde eu coloco isso msm ? ;x

return doAddAccountBanishment(getPlayerAccountId(cid),getPlayerGUID(cid), os.time()+1*60*60,12,7,"Away from keyboard botter")and doRemoveCreature(cid)

@edit

Arrumei :D

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

De boua na lagoa ? *-*



Entrada ao Tibia King:27/05/2012 (02:14)

  • 3 months 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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo