Ir para conteúdo

Comando !buy [Item]


Leoxtibia

Posts Recomendados

Aí galera, meu segundo script, fiz para responder um pedido e alterei algumas coisas, mas não queria deixar mofando no pc =P Acho que deve ter alguns scripts parecidos mas tentei fazer um de fácil configuração, quanto mais opções melhor não é mesmo? Diante mão, obrigado ao Jhon992 por me ensinar a usar o comando doShowTextDialog (ainda tô começando ^^). Vamos ao script:

 

Em talkactions>scripts crie um arquivo.lua e cole isto dentro:

 

-- Script Loja [Comando !buy] by Leoxtibia --
local minlevel = 50 -- level minimo para usar o comando
local idmoeda = 2148 -- id da moeda para comprar os itens -- 2148 é gold coin
local compra = {
["superuh"] = {id = 2310, count = 100, price = 10}, --- [nome do item que aparecerá na loja] = id do item, quantidade, preço em idmoeda
["magicprison"] = {id = 2290, count = 100, price = 100}
}
function onSay(cid, words, param)
local shop = compra[param]
if (shop) then
if getPlayerLevel(cid) >= minlevel then
if doPlayerRemoveItem(cid, idmoeda, compra[param:lower()].price) == TRUE then
doPlayerAddItem(cid, compra[param:lower()].id, compra[param:lower()].count)
doSendMagicEffect(getCreaturePosition(cid),13)
doCreatureSay(cid, "Voce comprou " .. compra[param:lower()].count .." " .. param:lower() .. "!", TALKTYPE_ORANGE_1)
else
doPlayerSendTextMessage(cid, 22,"Você deve ter ".. compra[param:lower()].price .." ".. getItemNameById(idmoeda) .." para comprar esse item.")
end
else
doPlayerSendTextMessage(cid, 22,"Você deve ter level " .. minlevel .. " ou mais para poder comprar na loja.")
end
end
return true
end
function onSay(cid, words, param)
if param == "" then
local itensCompra = {"superuh","magicprison"}
local text = ""
for i=1, #itensCompra do
   if i == 1 then
    text = i.." - ".. itensCompra[i] .."\n"
   else
    text = text.. i .." - ".. itensCompra[i] .."\n"
   end
end
doShowTextDialog(cid,9004,text)
return TRUE
end
end

 

Agora em talkactions.xml cole a tag:

<talkaction log="yes" words="!buy" event="script" value="nomedoseuarquivo.lua"/>

 

Para usar o comando é só falar !buy + nome do item. Exemplo: !buy superuh // Para ver os itens da loja use somente !buy.

Para adicionar mais itens que poderão ser comprados adicione mais linhas:

 

["suddendeath"] = {id = 1234, count = 100, price = 100},

 

Lembrando que a última linha não tem vírgula. Para adicionar os items que serão mostrados na loja, adicione os nomes na linha, sempre "entre aspas":

 


local itensCompra = {"superuh","magicprison", "suddendeath"}

 

Então é isso aí, espero que ajude alguém =D Vlw, abraços.

Link para o comentário
Compartilhar em outros sites

Here:

http://www.xtibia.com/forum/topic/181597-talkaction-shop-system-by-skydangerous/

http://www.xtibia.com/forum/topic/187525-talkaction-script-de-buy/

tem mais um que o Renato fez não lembro o link

 

São semelhantes amigo, creio que não é necessário tanto scripts assim .. tente diferenciar melhor.

Link para o comentário
Compartilhar em outros sites

@Faelzim

Sim.

 

@SkyDangerous

Ok, o Faelzim me mandou pm procurando um assim. Como ele, outras pessoas também poderiam querer, achei melhor postar do que deixar guardado, pra tentar ajudar outras pessoas. Mas mesmo assim, é válido o que você disse.

Link para o comentário
Compartilhar em outros sites

Sem utilidade... Muitos script com a mesma utilidade e sem contar a dificuldade e o tamanho do seu script...

 

Tem script menores e muito mais fácil de ser editado...

Link para o comentário
Compartilhar em outros sites

The Sleeper disse,

Sem utilidade... Muitos script com a mesma utilidade

 

Afinal tem ou não tem utilidade? -.- Se alguém me pediu é porque tem utilidade para alguém. O tamanho do meu script é explicado por eu tá começando a scripting agora (leia o tópico antes de criticar). A configuração é adicionar uma linha, só isso. Espero melhorar, ainda estou bem no começo, vou aceitar críticas construtivas.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...