Ir para conteúdo
  • Cadastre-se

[Resolvido] [PEDIDO] Talkaction


Posts Recomendados

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 :P Nem eu sei exatamente o que quero).

Editado por Danilo Rodrigues (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

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"/>
Link para o post
Compartilhar em outros sites
  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"/>
Expand   Mostrar mais  

 

Já testei o seu e funfou fácil. Muito obrigado. Testarei o outro agora. Valeu

Link para o post
Compartilhar em outros sites

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.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Estatísticas dos Fóruns

    96846
    Tópicos
    519606
    Posts
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo