Ir para conteúdo
  • Cadastre-se

Posts Recomendados

ATENÇÃO:

LER TODO O TÓPICO

NÃO DOU DIREITO À NINGUÉM DE POSTAR ESTE SCRIPT EM OUTRO LUGAR, SEM MINHA PERMISSÃO.

MEU MSN: [email protected]

Pretexto:

Olá, dessa estou aqui no TibiaKing para resolvi trazer pra vocês um script que eu criei.

Lembrando que se gostou, dá um gostei aí, rs.

É difícil explicar, então teste pois é mais fácil entender como funciona.

Explicando:

Quando você dá use no item, ele cria um "mascote". Ele é formado por efeitos, e vai se movimentando aleatoriamente. Caso tenha algum item em seu caminho, ele remove, e caso tenha uma barreira, ele se move para qualquer lado menos o da barreira (não importa quantas barreiras estiverem ao redor dele, o movimento vai ser anulado)

- Você precisa cercar todo o local onde ele pode passar. Lembrando que ele só pode andar no chão puro! Ou seja, qualquer item não-móvel (exceto o chão) é classificado como barreira.

Exemplo de local que funciona:

25s4uhf.png

Em vermelho, os exemplos de barreiras (a parede também é barreira, óbvio)

Script:

[data/actions/scripts/clean.lua]

-- script by Eitor Laba

-- bot cleaner v1.0

local c = {x=0,y=0,z=0}

function onUse(cid, item, frompos, item2, topos)


function newEffect()


local random = math.random(1,4)

local effects = {47}

local delay = 0.8

local msgs = {"Oops!","Bloqueado","Epa!"}


if random == 1 then

c.x = c.x + 1

elseif random == 2 then

c.x = c.x - 1

elseif random == 3 then

c.y = c.y + 1

elseif random == 4 then

c.y = c.y - 1

end


if math.random(1,8) == 5 then

local saudacoes = {"Tudo bom?","Limpando!","Olá!","","Passando!"}

doSendAnimatedText(c,saudacoes[math.random(0,#saudacoes)],160)

end


if getThingFromPos(c).itemid > 0 then

if isItemMovable(getThingFromPos(c).itemid) then

c.stackpos = 253

if not isCreature(getThingFromPos(c).uid) then

doSendAnimatedText(c,"Limpo!",TEXTCOLOR_YELLOW)

doCleanTile(c)

c.stackpos = 1

else

doSendAnimatedText(c,"Licença!",160)

c.stackpos = 1

end

else

if random == 1 then

c.x = c.x - 1

elseif random == 2 then

c.x = c.x + 1

elseif random == 3 then

c.y = c.y - 1

elseif random == 4 then

c.y = c.y + 1

end

doSendAnimatedText(c,msgs[math.random(0,#msgs)],TEXTCOLOR_YELLOW)

end

end


doSendMagicEffect(c,effects[math.random(1,#effects)])

addEvent(newEffect,delay * 1000)

end



c = getPlayerPosition(cid)

c.stackpos = 1

newEffect()

return TRUE

end[/code]


[size=2]Nota: você pode editar as falas na variável [i]saudacoes [/i]([i]ctrl + f: saudacoes[/i])[/size][/color]



[color=#ff0000][b]Tag:[/b][/color]

[color=#696969][data/actions/actions[/color][color=#0000ff].xml[/color][/i]

[code]<action uniqueid="xxx" script="clean.lua"/>
para usar-se uma unique id no item; ou
<action itemid="xxx" script="clean.lua"/>

para usar-se qualquer item deste id;

Nota: xxx é o uniqueid (se você usou o primeiro exemplo) do item a ser usado, ou o id do item (se você usou o segundo exemplo) que será usado.

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

koe

Link para o post
Compartilhar em outros sites

Boa, rep++

show

ae

vc conseguiria fazer um globalevents de clean,

quaze igual este que vc postou porem que linpase insima de tapetes tbm etc. e com uma cordenada fixa exenplo. ele so linpa no templo e nao pasa dele

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

1004896_584944408224273_737483105_n.png

Link para o post
Compartilhar em outros sites

Boa, rep++

show

ae

vc conseguiria fazer um globalevents de clean,

quaze igual este que vc postou porem que linpase insima de tapetes tbm etc. e com uma cordenada fixa exenplo. ele so linpa no templo e nao pasa dele

O templo é quadrado ? (se for, fica bem mais fácil, pois eu posso usar for)

koe

Link para o post
Compartilhar em outros sites

quaze inteiro quadrado mais as areas do clean e quadrado

function onThink(interval, lastExecution, thinkInterval)

local pos = {

fromx=157,

fromy=47,

tox=164,

toy=57,

z=7

}


for x = pos.fromx, pos.tox do

for y = pos.fromy, pos.toy do

local pos = {x=x,y=y,z=pos.z}

pos.stackpos = 255

pid = getThingFromPos(pos).uid

if pid > 0 then

if not isCreature(pid) then

doCleanTile(pos)

doSendMagicEffect(pos,36)

end

end

end

end


return true

end
Assumiremos que essa é a área de clean: x___ |___| |___| |___| ____y Ali no x, é o primeiro tile superior esquerdo do quadrado onde vai executar o clean. Você vai ver as coordenadas x e y dele e vai por no fromx, e fromy. Ali no y, é o último tile inferior direito do quadrado onde vai executar o clean. Você vai ver as coordenadas x e y dele e vai por no tox, e toy. E o z é a coordenada z onde vai ter o clean. Entendes? Ou seja, vai limpar do x até o y.
<globalevent name="cleantemple" interval="5" script="xxx.lua" />

Abraços.

Se tiver alguma dúvida manda por mensagem, não conversaremos aqui.

Editado por Godfather
Faltaram as vírgulas rs (veja o histórico de edições)

koe

Link para o post
Compartilhar em outros sites
  • 1 month later...

Ótimo script, mas, como faz pra ele sumir depois de um tempo?

Atenciosamente,

Luís Felipe Santana - Membro Nº:7 (rsrsrs);

Mystery World - OTServ Global Full 8.6

mysteryworldforum.png

(Clique na imagem para ser redirecionado ao site oficial do Mystery World)

Ajude a divulgar o Mystery World, coloque o seguinte código em sua assinatura:

[center][size=3]Mystery World - OTserv Global Full 8.6[/size]

[url="http://mysteryworld.servegame.com"][img=http://img27.imageshack.us/img27/2903/mysteryworldforum.png][/url]

[size=3](Clique na imagem para ser redirecionado ao site oficial do Mystery World)[/size][/center]

Link para o post
Compartilhar em outros sites
  • 2 weeks later...

Ótimo script, mas, como faz pra ele sumir depois de um tempo?

-- script by Eitor Laba

-- bot cleaner v1.0

local c = {x=0,y=0,z=0}

function onUse(cid, item, frompos, item2, topos)


function newEffect()


local lock = 0

local timeto = 30

local random = math.random(1,4)

local effects = {47}

local delay = 0.8

local msgs = {"Oops!","Bloqueado","Epa!"}


if random == 1 then

c.x = c.x + 1

elseif random == 2 then

c.x = c.x - 1

elseif random == 3 then

c.y = c.y + 1

elseif random == 4 then

c.y = c.y - 1

end


if math.random(1,8) == 5 then

local saudacoes = {"Tudo bom?","Limpando!","Olá!","","Passando!"}

doSendAnimatedText(c,saudacoes[math.random(0,#saudacoes)],160)

end


if lock < 1 then

if getThingFromPos(c).itemid > 0 then

if isItemMovable(getThingFromPos(c).itemid) then

c.stackpos = 253

if not isCreature(getThingFromPos(c).uid) then

doSendAnimatedText(c,"Limpo!",TEXTCOLOR_YELLOW)

doCleanTile(c)

c.stackpos = 1

else

doSendAnimatedText(c,"Licença!",160)

c.stackpos = 1

end

else

if random == 1 then

c.x = c.x - 1

elseif random == 2 then

c.x = c.x + 1

elseif random == 3 then

c.y = c.y - 1

elseif random == 4 then

c.y = c.y + 1

end

doSendAnimatedText(c,msgs[math.random(0,#msgs)],TEXTCOLOR_YELLOW)

doSendMagicEffect(c,effects[math.random(1,#effects)])

addEvent(newEffect,delay * 1000)

end

end

else

doSendAnimatedText(c,"Acabou o tempo.",TEXTCOLOR_YELLOW)

end


end



function finish()

lock = 1

end


addEvent(finish,timeto * 1000)

c = getPlayerPosition(cid)

c.stackpos = 1

newEffect()

return TRUE

end[/code]

[b]Tente isso, eu não testei pois estou indo dormir

Se não funcionar eu arrumo mais tarde e te mando

Abraços[/b]

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

koe

Link para o post
Compartilhar em outros sites
  • 4 months later...

Espero que tenha conseguido , vc nao me avisou mais .-.

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

koe

Link para o post
Compartilhar em outros sites
  • 1 year later...

Estava procurando essa script Valeu :).

Scripter: |||||||||| 10%

 

 

Te ajudei?? REP + e ficamos quites...  ;D

 

Atenciosamente,

                   Lucas.

Abraços!

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo