Fórum Mundo Tibia Br
Bem-vindo(a),

Notamos que você não está logado no Fórum. Se já tiver uma conta, por favor, faça o Login. Se você ainda não tem uma conta, registre-se, demora menos de dois minutos e você tem acesso a todas as vantagens de ser um membro.

"[Tutorial]Yunie Anti Bot System "Super tutorial pra server dedicados e a quem enterresar

Ir em baixo

"[Tutorial]Yunie Anti Bot System "Super tutorial pra server dedicados e a quem enterresar Empty "[Tutorial]Yunie Anti Bot System "Super tutorial pra server dedicados e a quem enterresar

Mensagem por SilvioRicardo em Sab 16 Jan 2010, 13:53

Funcionamento do script:

O sistema de tempo em tempo manda player para o player perguntando o resultado de uma conta de soma (números da conta gerados pelo sistema), então se o player não responder ou responder muitas vezes erradas ele é mandado para alguma prisão, algum lugar fechado, sem saída e automaticamente depois de um certo tempo configurado no script o player pode sair da prisão indo direto para o templo.

Screenshoot do sistema:

"[Tutorial]Yunie Anti Bot System "Super tutorial pra server dedicados e a quem enterresar Yunieantibotcs7

Adicionando o sistema em seu server:

Primeiramente, adicione as tags em creaturescripts/creaturescripts.xml:

Código:
<event type="login" name="AntiBotLogin" script="antibot.lua"/>
<event type="logout" name="AntiBotLogout" script="antibot.lua"/>

Logo após disso, faça um arquivo em creaturescripts/scripts chamado antibot.lua contendo:



<BLOCKQUOTE>
Código:

-- Yunie Anti Bot System
-- Mundotibiabr Forum
-- mundotibiabr.forumeiros.com

-- configs
local mintoanswer = 2 -- minutes to answer anti bot system
local delayAntiBot = 30 -- minutes of delay of delayAntiBot
local maxgroupid = 1 -- groupid higher than this don't have antiBotSystem Activated
local prisionpos = {x=83,y=122,z=7} -- if don't answer, go to this pos(local onde e a prisao ou ate pode ser uma montanha mas tem q ser area PZ(igual nos dp)
local prisionminutes = 10 -- time inside the prision
local templepos = {x=95, y=117, z=7} -- after the prisionminutes, back to this position (localização de seu templo)
-- end configs

-- local variables
local storages = {first_num = 20123, second_num = 20124, result = 20125, answer = 20126, prisioned = 20127, prisiontime = 20128, wrong_answers = 20129}
-- end local variables


function onLogin(cid)
local prisioned = getPlayerStorageValue(cid,storages.prisioned)
if (prisioned == 1) then
local prisiontime = getPlayerStorageValue(cid,storages.prisiontime)
local timenow = os.time()
if (timenow >= prisiontime) then
setPlayerStorageValue(cid,storages.prisiontime,0)
setPlayerStorageValue(cid,storages.prisioned,0)
doTeleportThing(cid, templepos)
else
prisionEvent = addEvent(checkprisioned,1000,{cid=cid})
doTeleportThing(cid, prisionpos)
end
end


if (delayAntiBot <= mintoanswer) then
debugPrint("Error! Anti Bot System debugs: variable delayAntiBot need to be higher than mintoanswer.")
else
if (getPlayerGroupId(cid) <= maxgroupid) then
antiBotEvent = addEvent(antiBot,1000,{cid=cid})
else
doPlayerSendTextMessage(cid, 20, "People with group ID higher than ".. maxgroupid .." don't have this system.")
end
end
return TRUE
end

function onLogout(cid)
stopEvent(prisionEvent)
stopEvent(antiBotEvent)
stopEvent(checkAnswerEvent)


setPlayerStorageValue(cid,storages.first_num,0)
setPlayerStorageValue(cid,storages.second_num,0)
setPlayerStorageValue(cid,storages.result,0)
setPlayerStorageValue(cid,storages.answer,0)
setPlayerStorageValue(cid,storages.wrong_answers,0)
return TRUE
end

function antiBot(parameters)
local cid = parameters.cid

local playerpos = getCreaturePosition(cid)
local playerpz = getTilePzInfo(playerpos)
local playername = getPlayerName(cid)
local prisioned = getPlayerStorageValue(cid,storages.prisioned)
if (playerpz ~= 1 and prisioned ~= 1) then
local first_num = math.random(1,9)
local second_num = math.random(1,9)
local result = first_num+second_num

setPlayerStorageValue(cid,storages.first_num,first_num)
setPlayerStorageValue(cid,storages.second_num,second_num)
setPlayerStorageValue(cid,storages.result,result)
doPlayerSendTextMessage(cid, 20, "Yunie Anti Bot System: Hello, "..playername.."! You have ".. mintoanswer .." minute(s) to answer how much is ".. first_num .." + ".. second_num ..". To answer say: !antibot \"number.")
doPlayerSendTextMessage(cid, 20, "Yunie Anti Bot System: Example: 20+20 = 40, then you would say !antibot \"40.")
checkAnswerEvent = addEvent(checkAnswer,mintoanswer*60*1000,{cid=cid})
end
antiBotEvent = addEvent(antiBot,delayAntiBot*60*1000,{cid=cid})
end

function checkAnswer(parameters)
local cid = parameters.cid
local first_num = getPlayerStorageValue(cid,storages.first_num)
local second_num = getPlayerStorageValue(cid,storages.second_num)
local result = getPlayerStorageValue(cid,storages.result)
local answer = getPlayerStorageValue(cid,storages.answer)
local prisioned = getPlayerStorageValue(cid,storages.prisioned)
local wrong_answers = getPlayerStorageValue(cid,storages.wrong_answers)
if (wrong_answers > 3) then
doTeleportThing(cid, prisionpos)
setPlayerStorageValue(cid,storages.wrong_answers,0)
setPlayerStorageValue(cid,storages.first_num,0)
setPlayerStorageValue(cid,storages.second_num,0)
setPlayerStorageValue(cid,storages.result,0)
setPlayerStorageValue(cid,storages.answer,0)
setPlayerStorageValue(cid,storages.prisioned,1)
setPlayerStorageValue(cid,storages.prisiontime,os.time()+(prisionminutes*60))
doPlayerSendTextMessage(cid, 20, "Time limit! You had been prisioned for ".. prisionminutes .." minute(s) because answered many wrong times.")
prisionEvent = addEvent(checkprisioned,1000,{cid=cid})
else
if (answer ~= 1 and prisioned ~= 1 and result > 0) then
doTeleportThing(cid, prisionpos)
setPlayerStorageValue(cid,storages.first_num,0)
setPlayerStorageValue(cid,storages.second_num,0)
setPlayerStorageValue(cid,storages.result,0)
setPlayerStorageValue(cid,storages.answer,0)
setPlayerStorageValue(cid,storages.prisioned,1)
setPlayerStorageValue(cid,storages.wrong_answers,0)
setPlayerStorageValue(cid,storages.prisiontime,os.time()+(prisionminutes*60))
doPlayerSendTextMessage(cid, 20, "Time limit! You had been prisioned for ".. prisionminutes .." minute(s).")
prisionEvent = addEvent(checkprisioned,1000,{cid=cid})
else
setPlayerStorageValue(cid,storages.first_num,0)
setPlayerStorageValue(cid,storages.second_num,0)
setPlayerStorageValue(cid,storages.result,0)
setPlayerStorageValue(cid,storages.answer,0)
setPlayerStorageValue(cid,storages.prisioned,0)
setPlayerStorageValue(cid,storages.wrong_answers,0)
doPlayerSendTextMessage(cid, 20, "Yunie Anti Bot System: You are ok, but in some minutes you are going to be asked again.")
end
end
end

function checkprisioned(parameters)
local cid = parameters.cid
local prisioned = getPlayerStorageValue(cid,storages.prisioned)
local prisiontime = getPlayerStorageValue(cid,storages.prisiontime)
local timenow = os.time()
if (prisioned == 1) then
if (timenow >= prisiontime) then
doPlayerSendTextMessage(cid, 20, "You had completed your time here in the prision! You may now relog to go to the city.")
else
prisionEvent = addEvent(checkprisioned,1000,{cid=cid})
end
end
end

</BLOCKQUOTE>









Configure as variáveis em negrito de acordo com seu servidor e gosto, salve e feche.

Em talkactions/talkactions.xml adicione a seguinte tag:

Código:
<talkaction words="!antibot" script="antibot.lua"/>


Agora faça um arquivo em talkactions/scripts chamado antibot.lua contendo:

Código:
-- local variables
local storages = {first_num = 20123, second_num = 20124, result = 20125, answer = 20126, prisioned = 20127, prisiontime = 20128, wrong_answers = 20129}
-- end local variables

function onSay(cid, words, param)
local first_num = getPlayerStorageValue(cid,storages.first_num)
local second_num = getPlayerStorageValue(cid,storages.second_num)
local result = getPlayerStorageValue(cid,storages.result)
local answer = getPlayerStorageValue(cid,storages.answer)
local prisioned = getPlayerStorageValue(cid,storages.prisioned)

param = tonumber(param)

if (prisioned ~= 1 and answer ~= 1 and result > 0) then
if (param == result) then
if (getPlayerStorageValue(cid,storages.wrong_answers) <= 3) then
doPlayerSendTextMessage(cid, 20, "Yunie Anti Bot System: Right answer, thank you for answering.")
setPlayerStorageValue(cid,storages.wrong_answers,0)
setPlayerStorageValue(cid,storages.answer,1)
setPlayerStorageValue(cid,storages.first_num,0)
setPlayerStorageValue(cid,storages.second_num,0)
setPlayerStorageValue(cid,storages.result,0)
else
doPlayerSendTextMessage(cid, 20, "Yunie Anti Bot System: Right answer, but you had already answered more than 3 wrong times.")
end
else
doPlayerSendTextMessage(cid, 20, "Yunie Anti Bot System: Wrong answer!")
wrong_answers_now = getPlayerStorageValue(cid,storages.wrong_answers)
setPlayerStorageValue(cid,storages.wrong_answers,wrong_answers_now+1)
doPlayerSendTextMessage(cid, 20, "Yunie Anti Bot System: You had already got ".. getPlayerStorageValue(cid,storages.wrong_answers).." wrong answers! The limit is 3.")
end
end
end


Neste script acima não precisa configurar nada.
As instruções são todas dadas dentro do jogo para os players durante a execução do sistema.

Espero que usem

Gente eu axei esse script em um forum br tbm mas não tenho os creditos para postar.. e script de gringo isso^^
eu usei e gostei funfa no tfs 8.4

***Codes Arrumados*** "[Tutorial]Yunie Anti Bot System "Super tutorial pra server dedicados e a quem enterresar Icon_cheers


Última edição por SilvioRicardo em Sab 16 Jan 2010, 14:57, editado 1 vez(es)
SilvioRicardo
SilvioRicardo
Camponês
Camponês

Mensagens : 167

Voltar ao Topo Ir em baixo

"[Tutorial]Yunie Anti Bot System "Super tutorial pra server dedicados e a quem enterresar Empty Re: "[Tutorial]Yunie Anti Bot System "Super tutorial pra server dedicados e a quem enterresar

Mensagem por Admin em Sab 16 Jan 2010, 14:49

Legaal!

Só por favor, arruma o tópico com a parte dos códigos pq eu apaguei sem qrer :X

Tópico fixado Very Happy
Admin
Admin
Administrador
Administrador

Mensagens : 324

http://www.mundotibiabr.com/

Voltar ao Topo Ir em baixo

"[Tutorial]Yunie Anti Bot System "Super tutorial pra server dedicados e a quem enterresar Empty Re: "[Tutorial]Yunie Anti Bot System "Super tutorial pra server dedicados e a quem enterresar

Mensagem por Narutox009 em Ter 16 Fev 2010, 21:40

Eu já tinha visto anti mc en treiner mas bot oO''
avatar
Narutox009
Barão
Barão

Mensagens : 346

Voltar ao Topo Ir em baixo

"[Tutorial]Yunie Anti Bot System "Super tutorial pra server dedicados e a quem enterresar Empty Re: "[Tutorial]Yunie Anti Bot System "Super tutorial pra server dedicados e a quem enterresar

Mensagem por GOD Rafael em Sex 28 Maio 2010, 00:58

mas para mim ativar ele tem algum comando ou ele ativa sozinho?? e como irei saber se ele esta funcionando certo??
avatar
GOD Rafael
Servo
Servo

Mensagens : 7

Voltar ao Topo Ir em baixo

"[Tutorial]Yunie Anti Bot System "Super tutorial pra server dedicados e a quem enterresar Empty Re: "[Tutorial]Yunie Anti Bot System "Super tutorial pra server dedicados e a quem enterresar

Mensagem por SilvioRicardo em Seg 04 Out 2010, 13:55

GOD Rafael escreveu:mas para mim ativar ele tem algum comando ou ele ativa sozinho?? e como irei saber se ele esta funcionando certo??

E automatico, ele e acionado junto com o servidor, caso não funcione e algo mal configurado ou não compativel com a versão de seu Servidor
SilvioRicardo
SilvioRicardo
Camponês
Camponês

Mensagens : 167

Voltar ao Topo Ir em baixo

"[Tutorial]Yunie Anti Bot System "Super tutorial pra server dedicados e a quem enterresar Empty Re: "[Tutorial]Yunie Anti Bot System "Super tutorial pra server dedicados e a quem enterresar

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum