Ir para conteúdo

[Action] Temple Cleaner Automático


20cm

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: eitorlaba@hotmail.com

 

Pretexto:

Olá, dessa estou aqui no xTibia 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)

- Para para-lo, use /reload actions

- Depois de sumonado, ele não para de se movimentar até alguém usar /reload actions ou até o servidor parar

 

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

Nota: você pode editar as falas na variável saudacoes (ctrl + f: saudacoes)

 

Tag:

[data/actions/actions.xml

<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 20cm
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...