bem pensando!
a maioria joga muitos lixos no templo, parabéns cara
rep + sem dúvida
Por 20cm, 06 de mai. de 2012 em Actions e Talkactions
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

bem pensando!
a maioria joga muitos lixos no templo, parabéns cara
rep + sem dúvida
info
Grupo: Barão
Registrado: 19/11/11
Posts: 221
Reputação: +70
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:
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 endNota: você pode editar as falas na variável saudacoes (ctrl + f: saudacoes)
Tag:
[data/actions/actions.xml
para usar-se uma unique id no item;
ou
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 Maio 6 por 20cm