_F
action

[action] Runa De Dinheiro

Por _ferrari_, 11 de jul. de 2009 em Actions e Talkactions

otserv
tibia
script
10
1.7k
11 de julho de 2009 às 09:38

Bom dia pessoal, hoje eu vim postar uma action de runa. Eu vi essa action em um server e achei interessante. Então eu resolvi criar ela e postar aqui para vocês :party:

Ela consiste em uma runa que quando usada em um item, vende ele. No server, ela era usada para vender empty bottles e outros lixos que poderiam estar na bp de alguém, mas aqui vou deixar bem aberto para vocês editarem como preferirem.

 

 

function onUse(cid,item)

if item2.itemid == 1234 and doPlayerRemoveItem(cid,item2.itemid,1) == TRUE then

doPlayerAddItem(cid,ID_CRYSTAL_COIN,QUANTIDADE)

doPlayerAddItem(cid,ID_PLATINUM_COIN,QUANTIDADE)

doPlayerAddItem(cid,ID_GOLD_COIN,QUANTIDADE)

doPlayerSendTextMessage(cid,22,"You have sold an item for X gold pieces.")

else

return doPlayerSendCancel(cid,"Sorry, but you can\'t sell this item with this rune.")

end

end

 

Bem, aqui nesse script o player vai ganhar x de dinheiro (em azul) por vender o item de id 1234 (em vermelho). O id pode ser encontrado em item.xml na sua pasta data, e o dinheiro pode ser mudado também. Eu coloquei ali em aberto (e em verde) os id das moedas, e a quantidade. Se você quer vender um item por 150 gps, ponha 0 na quantidade da crystal, 1 na da platinum e 50 na de gold coin. Para adicionar mais itens que podem ser vendidos, basta fazer isso:

 

Depois de:

doPlayerSendTextMessage(cid,22,"You have sold an item for X gold pieces.")

 

Bote:

elseif item2.itemid == 4321 and doPlayerRemoveItem(cid,item2.itemid,1) == TRUE then

doPlayerAddItem(cid,ID_CRYSTAL_COIN,QUANTIDADE)

doPlayerAddItem(cid,ID_PLATINUM_COIN,QUANTIDADE)

doPlayerAddItem(cid,ID_GOLD_COIN,QUANTIDADE)

doPlayerSendTextMessage(cid,22,"You have sold an item for x gold pieces.")

 

Novamente, o id em vermelho, ids das moedas e quantidade, e a quantidade de dinheiro na mensagem está um X em azul. Acho que existe uma função doPlayerAddMoney, que iria simplificar um pouco o script, porém não sei a sintaxe então fica assim mesmo. Se alguém puder botar ai como é :smile_positivo:

Espero que façam bom uso, qualquer bug, dúvida, sugestão, choro é só postar aqui.

 

Editado para revisar.

Editado Julho 11 por _ferrari_

satan666S
11 de julho de 2009 às 14:55

ta errado o script da uma arruamda nisso.

 

edit:

 

pelo visto o negocio ta dificil.

 

testa antes de posta seria melhor.

 

so pra ter uma ideia do erro no script

tas usando item2 mas na funçao nao tem item2 começa por ae um dos erros.

Editado Julho 11 por Marcryzius

sauvadur1S
12 de julho de 2009 às 10:07

Cara poem o nome da xml... oque tem que por no action.xml e o script tambem esta dando um monte de erro arruma ae!

13 de julho de 2009 às 15:34

não tenho como testar :X

quando debuguei não deu problema, e o item nos parênteses incluem o item2.

satan666S
13 de julho de 2009 às 17:58

entao usa esse.

 

function onUse(cid, item, fromPosition, itemEx, toPosition)

local items = {2400,2401} -- id dos items

 

if isInArray(items, itemEx.itemid) == TRUE then

doPlayerAddItem(cid,2160,1)--id da moeda

doPlayerAddItem(cid,2160,1)

doPlayerAddItem(cid,2160,1)

doRemoveItem(itemEx.uid)

doPlayerSendTextMessage(cid,22,"You have sold an item for X gold pieces.")

else

return doPlayerSendCancel(cid,"Sorry, but you can\'t sell this item with this rune.")

end

end

13 de julho de 2009 às 19:53

qual o propósito dos position no parênteses?

satan666S
14 de julho de 2009 às 15:26

qual o proposito de voce fazer um script tao ruim?

 

pelo menos o meu funciona.

14 de julho de 2009 às 17:06

desculpe se meu script não te agrada, mestre. :sosad:

JerimJ
15 de julho de 2009 às 10:53

Gracias !!

DaNDaNrOxXD
15 de julho de 2009 às 16:30

Reportaram este tópico como flood... Mas o usuário Jerim já foi suspenso por postar virus.

Abraços