Ir para conteúdo
Entre para seguir isso  
Sawer

Sistema de Cortat Cana!

Recommended Posts

Sawer    0
Sawer
Nome: Cortar Cana

Versão: 8.42

Tipo do script: Action

Servidor Testado: TFS 0.2.2

Autor: Sawer

Comentario: Esse sistema deve funcionar apartir da versão que surgiu os sprites de cana-de-açucar.

 

Vamos começar:

 

Antes de tudo confira se no arquivo items.xml(data/item/item.xml) existe isso:

 

</item>

<item id="5463" article="a" name="sugar cane">

<attribute key="decayTo" value="5464"/>

<attribute key="duration" value="20"/>

</item>

<item id="5464" article="a" name="sugar cane">

<attribute key="decayTo" value="5466"/>

<attribute key="duration" value="20"/>

</item>

<item id="5466" article="a" name="sugar cane"/>

<item id="5467" article="a" name="bunch of sugar cane" plural="bunches of sugar cane">

<attribute key="weight" value="2250"/>

</item>

 

Explicando:

<attribute key="duration" value="20"/>: Isso é o tempo que demora para uma cana virar outra. Esse tempo está em segundos eu coloquei 20(ex: peguemos a cana 5463, em 20s pela função do decayTo ela vai virar a cana 5464)

 

 

Agora sim:

1º Passo:

 

Vá até a pasta do seu OTServ e siga o caminho data/Actions/Scripts, crie um arquivo lua chamado cana(ou fassa copia de um ja existente) e adicione isso:

 

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

local pos = getThingPos(itemEx.uid)

 

if itemEx.itemid == 5466 and item.itemid == 2550 then

doTransformItem(itemEx.uid, 5463)

doCreateItem(5467, 1,pos)

doDecayItem(itemEx.uid)

end

end

 

Explicando:(Vou explicar para até quem não sabe nada de script possa entender)

 

function onUse(cid, item, frompos, itemEx, topos): Função que será usado no script no caso de usar algum item em outro.

 

local pos = getThingPos(itemEx.uid): local eu usei para definir que eu estou atribuindo valores. Pos foi o valor que eu dei para getThingPos(itemEx.uid), já essa tem a fução de pegar a posição do item que está no parametro () da função no caso itemEx.uid

 

if itemEx.itemid == 5466 and item.itemid == 2550 then: If determina uma condição, e nesse caso a condição é itemEx.itemid == 5466 and item.itemid == 2550.

itemEx.itemid: Determina o id do item em que eu usarei a scythe.

IMG:

http://img188.imageshack.us/i/cana4.png/

item.itemid: Determina que item eu usarei no itemEx, esse item é a Scythe id = 2550.

Then: fexa a condição.

 

doTransformItem(itemEx.uid, 5463): Vai transformar o item em que eu usarei a Scythe, itemEx, num item que na função o id é 5463.

IMG:

http://img150.imageshack.us/i/cana1.png/

 

doCreateItem(5467, 1,pos): Vai criar 1 item de id 5467 na pos(valor que eu atribui no começo do script).

IMG:

http://img188.imageshack.us/i/cana4.png/

 

doDecayItem(itemEx.uid): Vai possibilitar que o item que esta no parametro () no caso itemEx.uid possa se transformar em outro. Lá no items.xml está determinado no que esse item vai virar.

 

Só isso?

Não. Agora você vai ir dnvo no caminho data/Actions/Scripts e criar um novo arquivo lua chamado destilador e adicionar isso:

 

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

 

function Make1(Fluid1)

doPlayerAddItem(cid, 2015, 2)

end

 

if itemEx.itemid == 5470 or itemEx.itemid == 5513 or itemEx.itemid == 5469 or itemEx.itemid == 5514 and item.itemid == 5467 then

doPlayerRemoveItem(cid, 5467, 1)

addEvent(Make1, 3000, Fluid1)

doCreatureSay(cid,"Ton Cun Tz",TALKTYPE_ORANGE_1)

doCreatureSay(cid,"Ton Cun Tz",TALKTYPE_ORANGE_1)

doCreatureSay(cid,"Ton Cun Tz",TALKTYPE_ORANGE_1)

doCreatureSay(cid,"Ton Cun Tz",TALKTYPE_ORANGE_1)

end

end

 

Esse script vai ter como função criar um liquido quando você usar a cana cortada no destilador.

 

Explicando:(esse vai ser mais dificil de explicar por causa do addEvent) OBS1: não vou explicar dnovo if e then

 

itemEx.itemid == 5470 or itemEx.itemid == 5513 or itemEx.itemid == 5469 or itemEx.itemid == 5514 and item.itemid == 5467: Esses são os itens que serão usados na função, itemEx eu ja explique mas o diferencial aki são os or's, ele vai funcionar assim, eu posso usar a cana cortada ou no 5470 ou no 5513 ou no 5469 ou no 5514.

Mas pra que tandos itemEx's?

Pois existem 4 tipos de destiladores.

IMG:

 

doPlayerRemoveItem(cid, 5467, 1) : Isso vai remover 1 item 5467 do player(a cana que você havia cortado)

 

addEvent(Make1, 3000, Fluid1): Agora o bixo pega.

O AddEvent é usado para fazer uma função depois de um tempo estabelecido.

Para o addEvent você tem que criar uma função. No script essa função está la em cima no começo.

Eu dei um nome para essa função(Make1) e um parametro() (Fluid1).

Essa função vai fazer com que se adicione um item ao player, no caso 2015 do tipo 2(o tipo nesse caso é importante pois os fluids containers tem varios tipos eu usei esse como exemplo você pode colocar qual você quiser, um vail por exemplo tem mais de 20 tipos)

Certo depois de criada a função eu adicionei o addEvent no script. No parametro eu coloquei respectivamente: o nome da função que eu criei; o tempo em milisegundos que a função vai ocorrer; e o parametro() da função que eu criei.

Explicando o resumo do addEvent: em 3s dps que você usar a cna no destilador você irá receber um item.

 

doCreatureSay(cid,"Ton Cun Tz",TALKTYPE_ORANGE_1): Isso eu coloquei para ser tipo o barulho do destilador.

 

Terminado de fazer os dois scripts você tem que adicionar as tags em data/Actions/actions.xml:

 

<action itemid="2550" script="cana.lua" />

<action itemid="5467" script="destilador.lua" />

 

E esse é o fim do script.

Eu só não fiz um script para o fluid, eu vo fika devendo mas o resto no meu Serv funciona certinho qualquer problema manda pm ou usa esse tópico mesmo.

 

Se gostou me doe ValOt$ ops Valuti$ xD

Esmola não da futuro mas da dinheiro hehe...

Compartilhar este post


Link para o post
Mock    32
Mock

Comentario: A formatação esta nada boa.

 

Aprovadoico_aprovado.png & Movidoicon_movido.giffechado22xnux7.gif

 

mock.png

Compartilhar este post


Link para o post
Lyu Elite    0
Lyu Elite

Muito legal o script ~colocado em meu otserv~

mais ta ma formatação como mock falou

Mais oque importa e o script ~ gostei *

Compartilhar este post


Link para o post
'BoDeGaah'!~*    0
'BoDeGaah'!~*

gostei :D

Compartilhar este post


Link para o post
Rafael20x    0
Rafael20x

Parece legal... eu tenho um ot off só pra upgradiza com esse tipo de scrip e montros... flw

Compartilhar este post


Link para o post
Sparken    0
Sparken

Se Tivesse postado Este Script A Um Mes Atras Ele Estaria Em Meu OT Pq Eu Tava Fazendo Um Sistema De Fazendeiro...hahaha. Meuito Legal E Inovador.. Alem De Ser Simples! Valeu!

Compartilhar este post


Link para o post
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×