RO
talkaction

Laziness Shop

Por Roksas, 18 de mai. de 2013 em Actions e Talkactions

script
8
1.9k
RoksasR
18 de maio de 2013 às 23:23

Laziness Shop

 

 

divisor.png

 

Tive uma ideia bem legal, após eu me aprofundar em Looping. Este sistema você pode comprar runas e potions e outros items que quiser adicionar por comando, tornando seu character sedentário, não precisa ir ao NPC, rsrs.

 

 

 

 

Instalação

 

 

divisor.png

Vá em data/talkactions/scripts, copie algum arquivo da pasta e cole, renomeie para laziness_shop.lua e adicione dentro:

 

 

function onSay(cid, words, param)
local z = string.explode(param, ",")

local items = {
["blank"] = {eachPrice = 10, id = 2260},
["destroy"] = {eachPrice = 35, id = 2261},
["energy"] = {eachPrice = 40, id = 2262},
["intense"] = {eachPrice = 15, id = 2265},
["antidote"] = {eachPrice = 10, id = 2266},
["sd"] = {eachPrice = 50, id = 2268},
["icicle"] = {eachPrice = 10, id = 2271},
["uh"] = {eachPrice = 20, id = 2273},
["avalanche"] = {eachPrice = 10, id = 2274},
["paralyze"] = {eachPrice = 10, id = 2278},
["stone"] = {eachPrice = 10, id = 2288},
["chameleon"] = {eachPrice = 10, id = 2291},
["mw"] = {eachPrice = 10, id = 2293},
["holy"] = {eachPrice = 10, id = 2295},
["shp"] = {eachPrice = 10, id = 7588},
["smp"] = {eachPrice = 10, id = 7589},
["gmp"] = {eachPrice = 10, id = 7590},
["ghp"] = {eachPrice = 10, id = 7591},
["mp"] = {eachPrice = 10, id = 7618},
["hp"] = {eachPrice = 10, id = 7620},
}

if not z[1] or z[2] == "" then
doPlayerSendTextMessage(cid, 20, "--//   Comprar Runes & Potions: \\--")
for i, x in pairs (items) do
doPlayerSendTextMessage(cid, 20, "!comprar "..i..",  quantidade	  ("..x.eachPrice.." gold coins cada)")
end
doPlayerSendTextMessage(cid, 20, "Este comando requer um parâmetro correto.")
return true
end

if doPlayerRemoveMoney(cid, z[2] * items[z[1]].eachPrice) then
doPlayerAddItem(cid, items[z[1]].id, z[2])
doPlayerSendTextMessage(cid, 20, "Você acaba de comprar "..z[2].."x "..getItemNameById(items[z[1]].id)..".")
else
doPlayerSendTextMessage(cid, 20, "Você não tem dinheiro o suficiente {"..z[2] * items[z[1]].eachPrice.." gold coins} para comprar "..z[2].."x "..getItemNameById(items[z[1]].id)..".")
end
return true
end

 

 

Abra com o bloco de notas o arquivo talkactions.xml e adicione essa tag:

 

<talkaction words="!comprar;/comprar;!shop;/!shop" event="script" value="laziness_shop.lua"/>

 

 

 

 

Configuração



 

divisor.png

 

["blank"] = {eachPrice = 10, id = 2260},

 

Entre chaves ([ e ]), coloque oque fala para comprar o item, "eachPrice" o preço de cada unidade dele e "id" é o Item ID do mesmo.

 

Para adicionar novos items, é só colocar uma linha igual debaixo desse e editá-la:

 

["hp"] = {eachPrice = 10, id = 7620},

 

 

Demonstração

 

 

divisor.png

2eek9x0.jpg

Ensinamentos Looping: MaXwEllDeN

Editado Maio 18 por Roksas

OverxinO
18 de maio de 2013 às 23:29

Meus parabens, system perfeito, os Laziness vao adorar ! REP+

RoksasR
18 de maio de 2013 às 23:30

aehueauhea. Sim, nem precisar ir no NPC :D

KyromK
18 de maio de 2013 às 23:31

Muito Bom! melhor ainda para ser usado em otservs globais e só players vip conseguir executar o comando.

Luquinh4L
18 de maio de 2013 às 23:53

caraca para ot com runas n infinita mt bom rep +

guierayG
20 de maio de 2013 às 13:54

Show de bola para ots globais para players vip como o amigo ali em cima citou e em ots de pvp enforced q as runas tb n são infinitas. show, Rep +

AlexandreKGA
24 de maio de 2013 às 17:29

Vou adicionar no meu server, parabéns.

folferF
27 de maio de 2013 às 20:37

Meus Parabéns , esta lindo , muito arrumado e legal ! Recomendo ^^