[8.5] Colocando Stages, Fast Atack E Anti Bot!

Davizinhu96
em Lixeira Pública
  • 1
  • 2

Davizinhu96

GOD Xinxua ~~ Mapper
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 08/10/09Posts: 22

Aee galera Xtibiana!

Muitos amigos meus e até players do meu ot me perguntam como colocar

fast atack... outros que ficam banindo um monte de gente sem motivo

e falando que é bot, mesmo se o cara estiver apenas treinando skill

e Stages que é um modo mais certo que a exp do seu server vai mudar :)

 

Os SS's são de um mapa do Slayer muito conheçido

de 8.42 mais funciona em todas as versões

 

 

Bom vou começar pelo que mais me pedem... Fast Atack!

 

 

Fazer Fast Atack é SUPER SIMPLES

 

1º Abra a pasta do seu OT

 

2º Abra a pasta Data/Xml e vai apareçer escrito Vocations.xml

 

3º Clique com o botão direitos no Vocations.xml e clique em Abrir

post-258416-1255791491_thumb.jpg

 

4º Irá apareçer uma tela como essa

post-258416-1255791546_thumb.jpg

 

5º Aperte CTRL + F e escreva AttackSpeed(sem espaço) e aperte "Enter"

post-258416-1255791814_thumb.jpg

6º Irá apareçer attackspeed="1000" Recomendo as primeiras vocações serem 100 e as promotion ser 75

post-258416-1255792143.jpg

PS: Enquanto menor o número mais rápido o attack!

 

7º Faça isso com todas as vocações, salva, feche e PRONTO seu OT está com fast attack!

 

Fácil né?

 

Agora vou ensinar stage level que já está bem fácil!

 

Na mesma pasta da Vocations.xml tem stages.xml

 

1º Clique com o botão direito e clique em "Abrir"

 

2º Irá apareçer algo parecido com isso

post-258416-1255792571_thumb.jpg

 

3º <stage minlevel="1" maxlevel="8" multiplier="55"/>

<stage minlevel="9" maxlevel="20" multiplier="50"/>

<stage minlevel="21" maxlevel="50" multiplier="45"/>

<stage minlevel="51" maxlevel="100" multiplier="40"/>

<stage minlevel="101" multiplier="35"/>

 

Azuis: Level que você muda de experiência

Vemelhos: Último level antes de mudar de experiência

Negrito: Experiência que ganha nos níveis

 

Pronto você já configurou sua stage!

 

Agora o Antibot

 

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.

 

1º Abra a pasta do seu OT depois abra data\creaturescripts

 

2º Terá um programa chamado creaturescripts.xml... Clique com o botão direito e em seguida "Abrir"

post-258416-1255794221_thumb.jpg

 

3º Adicione a pasta

<event type="login" name="AntiBotLogin" script="antibot.lua"/>

<event type="logout" name="AntiBotLogout" script="antibot.lua"/>

Como na imagem abaixo

post-258416-1255794510_thumb.jpg

PS: Pode haver mais actions ou menos actions só prescisa adicionar!

 

4º Feche e salve

 

5º Abra um bloco de notas e escreva isso nele

-- 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=1070,y=1003,z=7} -- if don't answer, go to this pos

local prisionminutes = 10 -- time inside the prision

local templepos = {x=1023, y=1027, z=7} -- after the prisionminutes, back to this position (temple is recommended)

-- 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, "Pessoas com ID maior que ".. maxgroupid .." não tem esse sistema.")

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, "Anti Bot System: Olá, "..playername.."! Você tem ".. mintoanswer .." minuto(s) para responder quanto é ".. first_num .." + ".. second_num ..". Para responder diga: !antibot \"number.")

doPlayerSendTextMessage(cid, 20, "Anti Bot System: Exemplo: 20+20 = 40, você deve falar !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, "Tempo acabou! Você será preso por ".. prisionminutes .." minuto(s) porquê você respondeu muitas vezes erradas.")

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, "Tempo acabou! Você está preso! ".. prisionminutes .." minuto(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, "Anti Bot System: Você está sem bot, mas em alguns minutos será perguntado denovo.")

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, "Você completou seu tempo na prisão! Você deve relogar para ir para o templo.")

else

prisionEvent = addEvent(checkprisioned,1000,{cid=cid})

end

end

end

 

PS: Mude apenas oque está colorido!

PS²: O VERDE é a localização da cadeia!

PS³: O AZUL é a localização do templo!

PS³+¹: Salve na pasta data/creaturescripts/scripts com o nome de antibot.lua

 

6º Abra a pasta data/talkactions e abra o arquivo talkactions.xml

7º Terá uma parte mais ou menos assim

post-258416-1255795138_thumb.jpg

 

8º Coloque esse código nela, como mostra a imagem abaixo

<talkaction words="!antibot" script="antibot.lua"/>

post-258416-1255795280_thumb.jpg

 

9º Abra um Bloco de Notas e cole isso nele

-- 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, "Anti Bot System: Resposta certa! obrigado por responder.")

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, "Anti Bot System: Resposta certa, mas você já errou mais de 3 vezes.")

end

else

doPlayerSendTextMessage(cid, 20, "Anti Bot System: Resposta errada!")

wrong_answers_now = getPlayerStorageValue(cid,storages.wrong_answers)

setPlayerStorageValue(cid,storages.wrong_answers,wrong_answers_now+1)

doPlayerSendTextMessage(cid, 20, "Anti Bot System: Você acertou! ".. getPlayerStorageValue(cid,storages.wrong_answers).." Resposta errada! o limite é 3.")

end

end

end

PS: Não mude nada nele!

PS²: Salve em data/talkactions/scripts com o nome de antibot.lua

 

 

Pronto! espero ter ajudado!

 

 

Tutorial By:GOD Xinxua

Script By:Yunie e editado e traduzido por GOD Xinxua

 

Qualquer dúvidas, sugestões e criticas podem falar!

 

PS: Eu coloquei eles juntos que cada um sozinho não tem muita importancia

 

~~ A união faz a força ~~

<img src="http://img121.imageshack.us/img121/4734/fanbar.gif" border="0" class="linked-sig-image" />
<img src="http://img14.imageshack.us/img14/7704/fanbarvilden.jpg" border="0" class="linked-sig-image" />

Last Seeker

Membro
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 29/04/09Posts: 136

Cara, tutorial de stages ja existe, fui eu que fiz.

link do tópico:

http://www.xtibia.com/forum/Fazendo-Exp-Po...es-t118066.html

Procura antes de postar.

 

Procurei de novo e achei o do fast attack, link do tópico:

http://www.xtibia.com/forum/Como-Colocar-F...erv-t61505.html

 

E cara, o ultimo, o de anti bot, isto nem é um tutorial, tu só colou o script do Yunie, você não explicou nada dele.

Att,
Last Seeker.




Meus Avatares

DaNDaNrOxX

oi mosso
avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 18/01/08Posts: 1455Char no Tibia: Saint Claire

Last, os tutoriais não me pareceram iguais, usam palavras diferentes e métodos para explicação um pouco diferente também...

 

@Topic

GODXinxua, seus tutoriais ficaram muito bons, eu só acho que seria interessante você criar um em cada tópico, mas como já está assim, tudo bem, sem problemas.

Eu só peço que você coloque mais cores, principalmente nos locais de configuração dos scripts. Só falta isto para seu tutorial ser aprovado :)

 

Abraços

 

 

Entrada na equipe: 23/10/2008 Cargo: Estagiário

Promoção: 25/11/2008 Cargo: Moderador

Promoção: 21/10/2009 Cargo: Coordenador

Remoção: 09/05/2010 Motivo: Estudos

Retorno: 15/11/2010 Cargo: Moderador

Remoção: 20/12/2012.

 

 

\Mattheus ~*

Ex Moderador
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 11/02/09Posts: 559Char no Tibia: Deep Druid

O Tutorial ta bem arruma bem organizado da pra entender, Tutorial Aprovado por mim pelo menos ..

 

Continue assim ..

Abraços .

[/ Construçãao .

Davizinhu96

GOD Xinxua ~~ Mapper
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 08/10/09Posts: 22

Last eu não copiei nada eu escrevi tudo com minhas palavras e o Antibot eu editei e traduzi!

 

Daniel valeu pelos elogios e vou tentar colocar mais cores!

 

Mattheus valeeu sou teu fã coloquei umas hunt sua no meu mapa :D

 

PS: Daniel se quiser que mude e coloque 1 em cada tópico tudo bem!

só avisar aqui que já mudo!

<img src="http://img121.imageshack.us/img121/4734/fanbar.gif" border="0" class="linked-sig-image" />
<img src="http://img14.imageshack.us/img14/7704/fanbarvilden.jpg" border="0" class="linked-sig-image" />

DaNDaNrOxX

oi mosso
avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 18/01/08Posts: 1455Char no Tibia: Saint Claire

:button_ok: Parabéns GODXinxua, seu tutorial foi aprovado!

Obrigado por trazer conteúdo à comunidade.

 

~> Tópico movido para a seção correta <~

 

 

Atenciosamente,

Daniel Oliveira.

 

 

Entrada na equipe: 23/10/2008 Cargo: Estagiário

Promoção: 25/11/2008 Cargo: Moderador

Promoção: 21/10/2009 Cargo: Coordenador

Remoção: 09/05/2010 Motivo: Estudos

Retorno: 15/11/2010 Cargo: Moderador

Remoção: 20/12/2012.

 

 

Davizinhu96

GOD Xinxua ~~ Mapper
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 08/10/09Posts: 22

Vaaleu cara!

Qualquer dúvida podem falar!

<img src="http://img121.imageshack.us/img121/4734/fanbar.gif" border="0" class="linked-sig-image" />
<img src="http://img14.imageshack.us/img14/7704/fanbarvilden.jpg" border="0" class="linked-sig-image" />

Last Seeker

Membro
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 29/04/09Posts: 136
Last eu não copiei nada eu escrevi tudo com minhas palavras e o Antibot eu editei e traduzi!

 

Daniel valeu pelos elogios e vou tentar colocar mais cores!

 

Mattheus valeeu sou teu fã coloquei umas hunt sua no meu mapa :D

 

PS: Daniel se quiser que mude e coloque 1 em cada tópico tudo bem!

só avisar aqui que já mudo!

Eu não falei que voce copiou nada, eu falei que ja existe tutoriais semelhantes ao seu. (Com isso quero dizer com o mesmo tutorial, so que em diferentes palavras).

Att,
Last Seeker.




Meus Avatares

Davizinhu96

GOD Xinxua ~~ Mapper
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 08/10/09Posts: 22

Ata, entendi...

mais mesmo assim ta bem explicadinho :)

<img src="http://img121.imageshack.us/img121/4734/fanbar.gif" border="0" class="linked-sig-image" />
<img src="http://img14.imageshack.us/img14/7704/fanbarvilden.jpg" border="0" class="linked-sig-image" />

Tonynh

Miau! É isso ai!
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 07/01/08Posts: 2282Gênero: MasculinoChar no Tibia: Tonynh

Tutorial simples e fácil.. mais está bem legal e organizado..

Parabens e obrigado por trazer conteúdo ao Xtibia.

 

Abras..

xxxdeboraxxx

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 08/01/08Posts: 24Char no Tibia: Paladina Of Calmera

Akeê não pego o anti bot ;/

LimeWire

Junin x)
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 03/06/09Posts: 29
Muiito Bom Aprovadoo. :button_ok:

Coliseum Project...

Se inscrevam!

Davizinhu96

GOD Xinxua ~~ Mapper
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 08/10/09Posts: 22

Vaaleu cara, e bom trazer conteudo para o xTibia...

Ele ja me ajudou muito!

<img src="http://img121.imageshack.us/img121/4734/fanbar.gif" border="0" class="linked-sig-image" />
<img src="http://img14.imageshack.us/img14/7704/fanbarvilden.jpg" border="0" class="linked-sig-image" />

ThiagoGimenes

Sublime OTS
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 06/05/09Posts: 48

Muito legal e bem explicado, obrigado por trazer esse conteúdo ao Xtibia.

Abraços...

AMD Phenom II X6 1090T 3.2Ghz Six-Core 6Mb AM3 Box /// Gigabyte Phenom/Athlon II (AM3) | GA-790XTA-UD4 /// 8 GB Corsair DDR3 1600MHz /// Seagate HD 1TB SATA2 7200RPM /// ATI Radeon HD 5770 1GB GDDR5 128-bit + ATI Radeon HD 5770 1GB GDDR5 128-bit /// Seventeam 650W | ST-650 PWL /// Samsung TV LED 3D 32 Pol. Full HD

paulohdemello

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 21/01/08Posts: 2

muito bom mano parabens

  • 1
  • 2