KR
action

Woodcutter System (lenhador)

Por Krono, 15 de mai. de 2015 em Actions e Talkactions

woodcutter
system
lenhador
cortar
lenha
krono
otserv
tibia
script
9
3.3k
KronoK
15 de maio de 2015 às 18:37

Olá galerinha, tudo beleza? bom hoje estou trazendo para vocês um script simples, mais que pode ser util dentro de um contexto.

É um sistema de Lenhador, onde ao utilizaro machado em algumas arvores (configuraveis) você poderá conseguir extrair lenha.

 

2bckkm.jpg

 

Segue o script.

 

data/actions.xml

<action itemid="2378" event="script" value="woodcutter.lua"/>

data/actions/scripts/woodcutter.lua

 

Opção 1 - Sem remover a arvore.

--- 15/05/2015--
function onUse(cid, item, fromPosition, itemEx, toPosition)
local arvoresid = {2709,2710}     --id das arvores que viram madeira
local madeiraid = 5901--id da madeira que sera criada
local chance = 50  -- 1 a 100

local pposition = getPlayerPosition(cid)
for i= 1, #arvoresid do
if arvoresid[i] == itemEx.itemid then

local valor = math.random(1, 100)
                 if chance >= valor  then
                 doCreateItem(madeiraid, 1, pposition)
                 doSendMagicEffect(pposition, CONST_ME_MAGIC_GREEN)
                 doCreatureSay(cid, getCreatureName(cid) .. ' cortou madeira', TALKTYPE_ORANGE_1)
                 else
                 doCreatureSay(cid, 'Ação falhou', TALKTYPE_ORANGE_1)                    
                 end
end
end
end
--- 15/05/2015--

Opção 2 - Removendo a arvore. (sugerido por SkyDangerous)

--- 15/05/2015--
function onUse(cid, item, fromPosition, itemEx, toPosition)
local arvoresid = {2709,2710}     --id das arvores que viram madeira
local madeiraid = 5901--id da madeira que sera criada
local chance = 50  -- 1 a 100

local pposition = getPlayerPosition(cid)
for i= 1, #arvoresid do
if arvoresid[i] == itemEx.itemid then

local valor = math.random(1, 100)
                 if chance >= valor  then
                 doTransformItem(itemEx.uid, madeiraid)
                 doSendMagicEffect(pposition, CONST_ME_MAGIC_GREEN)
                 doCreatureSay(cid, getCreatureName(cid) .. ' cortou madeira', TALKTYPE_ORANGE_1)
                 else
                 doCreatureSay(cid, 'Ação falhou', TALKTYPE_ORANGE_1)                    
                 end
end
end
end
------ 15/05/2015--

Creditos: krono

Editado Maio 15 por Krono

SkyDangerousS
15 de maio de 2015 às 21:16

faz a árvore ou outro objeto sumirem '-'

 

seria mais interessante

KronoK
15 de maio de 2015 às 23:52

faz a árvore ou outro objeto sumirem '-'

 

seria mais interessante

 

É interessante sim, tanto que aceitei sua sugestão e fiz uma pequena alteração.

Obrigado pela sugestão, gostei de verdade da ideia.

16 de maio de 2015 às 13:04

 

É interessante sim, tanto que aceitei sua sugestão e fiz uma pequena alteração.

Obrigado pela sugestão, gostei de verdade da ideia.

 

Krono, faz a arvore virar o item 8786 e depois de 1 min sei lá, ela volta a ser arvore... Tem como ?!

OBS: o 8786 tem que sumir, pq tentei fazer isso e não sabia colocar pro 8786 sumir '-'

KronoK
16 de maio de 2015 às 21:12

 

Krono, faz a arvore virar o item 8786 e depois de 1 min sei lá, ela volta a ser arvore... Tem como ?!

OBS: o 8786 tem que sumir, pq tentei fazer isso e não sabia colocar pro 8786 sumir '-'

 

Ok, aqui está.

-------By Krono--- 15/05/2015--
function onUse(cid, item, fromPosition, itemEx, toPosition)
local arvoresid = {2709,2710}     --id das arvores que viram madeira
local madeiraid = 5901--id da madeira que sera criada
local chance = 50  -- 1 a 100
local arvoretempo = 10000 -- tempo para renascer a arvore.



local pposition = getPlayerPosition(cid)
for i= 1, #arvoresid do
if arvoresid[i] == itemEx.itemid then
local valor = math.random(1, 100)
                 if chance >= valor  then
                 doTransformItem(itemEx.uid, madeiraid)
                 doSendMagicEffect(pposition, CONST_ME_MAGIC_GREEN)
                 doCreatureSay(cid, getCreatureName(cid) .. ' cortou madeira', TALKTYPE_ORANGE_1) 
                 addEvent(doCreateItem, arvoretempo, arvoresid[i] -3, toPosition)
                 else
                 doCreatureSay(cid, 'Ação falhou', TALKTYPE_ORANGE_1)                    
                 end
end
end
end
-------By Krono--- 15/05/2015--


XScupionX
16 de maio de 2015 às 21:28

ótimo script, Talvez use no meu servidor ATS.

 

 

 

@TOPIC

 

Poderia me dizer como você faz essas animações e algum site?, Por que ficar tirando print e editando fica foda.

KronoK
16 de maio de 2015 às 21:49

ótimo script, Talvez use no meu servidor ATS.

 

 

 

@TOPIC

 

Poderia me dizer como você faz essas animações e algum site?, Por que ficar tirando print e editando fica foda.

 

 

LICEcap, programa muito pratico e leve.

Recomendo.

3 meses depois...
Tibira18T
06 de agosto de 2015 às 19:45

uso tfs 1.0 e nao acontece nada e tb nao da erro nenhum ;s

10 de agosto de 2015 às 20:50

Muito bom ... Mas daria para fazer da seguinte maneira ? :

1°Eu tenho que usar um item na arvore .

2°O player após usar o item na arvore fica por 5 segundos com outra outfit , e depois desses 5 segundos ele volta a outfit normal e ganha as madeiras .

3° Observação : Enquanto o player tiver com outra outfit ele não pode se mover .

Obrigado .