Woodcutter System (lenhador)

Krono
Por Krono
em Actions e Talkactions

Krono

avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 08/04/15Posts: 247

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

SkyDangerous

Deus Kalec
avatar
Lorde
Lorde

INFOS

Grupo: LordeRegistrado: 17/01/09Posts: 2098Char no Tibia: Adra Sata

faz a árvore ou outro objeto sumirem '-'

 

seria mais interessante

Me segui lá (:

 

b906.png

http://ageofwar.servegame.com/

IP: ageofwar.servegame.com

TIBIA: 10.78

GLOBAL PERFECT CUSTOM

Krono

avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 08/04/15Posts: 247

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.

CaioValverde

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 21/12/12Posts: 60

 

É 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 '-'

Krono

avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 08/04/15Posts: 247

 

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--


XScupion

Quem é?
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 27/06/13Posts: 116

ó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.

Krono

avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 08/04/15Posts: 247

ó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.

Tibira18

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 05/05/15Posts: 16

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

carlos fabian

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 21/06/15Posts: 36

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 .