Postado Novembro 24, 2013 11 anos Queria um talk que fizesse um certo item ser trocado por outro. Tipo, tenho vários itens que gostaria de vender (donate), mas pra isso preciso de um "item moeda" que servisse para comprar todos os itens donate. Ex.: O servidor tem sword donate = 10 scarab coin (exemplo de moeda), mage donate = 10 scarab coin, pally donate = 10 scarab coin. Eu tenho 50 scarab coins, e quero comprar uma sword donate, então eu digo !sworddonate, então 10 scarabs desaparecem do meu inventário e a sword aparece. Não sei se vcs entenderam (Pq escrevi um pouco confuso Nem eu sei exatamente o que quero). Editado Novembro 24, 2013 11 anos por Danilo Rodrigues (veja o histórico de edições)
Postado Novembro 24, 2013 11 anos recomendo o script do leo de outro forum 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"} ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ou um mais simples que eu fiz function onSay(cid, words, param) if doPlayerRemoveItem(cid, ID DO SCARAB) == TRUE then local bp = doPlayerAddItem(cid, ID DO ITEM A SER COMPRADO, QUANTIDADE) doSendMagicEffect(getCreaturePosition(cid),13) doCreatureSay(cid, "MENSAGEM AO REALIZAR A COMPRA", TALKTYPE_ORANGE_1) else doCreatureSay(cid, "MENSAGEM SE NAO TIVER DINHEIRO", TALKTYPE_ORANGE_1) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) end end <talkaction log="yes" words="!item" access="5" event="script" value="NOME DO SCRIPT.lua"/> Ot Design: https://discord.gg/VgtVRNmCD7
Postado Novembro 24, 2013 11 anos Autor Em 24/11/2013 em 18:58, Daaniel disse: recomendo o script do leo de outro forum 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"} ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ou um mais simples que eu fiz function onSay(cid, words, param) if doPlayerRemoveItem(cid, ID DO SCARAB) == TRUE then local bp = doPlayerAddItem(cid, ID DO ITEM A SER COMPRADO, QUANTIDADE) doSendMagicEffect(getCreaturePosition(cid),13) doCreatureSay(cid, "MENSAGEM AO REALIZAR A COMPRA", TALKTYPE_ORANGE_1) else doCreatureSay(cid, "MENSAGEM SE NAO TIVER DINHEIRO", TALKTYPE_ORANGE_1) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) end end <talkaction log="yes" words="!item" access="5" event="script" value="NOME DO SCRIPT.lua"/> Já testei o seu e funfou fácil. Muito obrigado. Testarei o outro agora. Valeu
Postado Novembro 24, 2013 11 anos Qualquer duvida pode continuar postando, vou mover. Dúvida sanada, tag adicionada.Tópico movido! Ot Design: https://discord.gg/VgtVRNmCD7
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.