WA
pedido

Comprar item com item

Por warriorfrog, 19 de set. de 2013 em Scripts

resolvido
6
662
warriorfrogW
19 de setembro de 2013 às 10:35

Fala galera to precisando mt disso! Vou usar tipo pra usar o item 10559 como se fosse points, ai funcionava assim, o cara q compra-se pontos, tipo 10 pontos eu entregava 10 itens 10559, ai ele ia num salao do meu server e puxava uma alavanca pra comprar itens com esse item 10559

 

Ai eu queria só um exemplo de comprar tipo comprar um dragon shield (2516) por 3 10559 (esse item é agrupavel) por uma alavanca, alguem pode me ajudar?

OmegaO
19 de setembro de 2013 às 10:54
function onUse(cid, item, fromPos)
    local moneyItem = 10559
    local moneyItemCount = getPlayerItemCount(cid, 10559)
    local items_to_sell = {
    {itemid = 2516, price = 3, count = 1, uid = 5050},
    {itemid = etc, price = 2, count = 1, uid = 5051},
}
    
    for _, iteminfo in pairs(items_to_sell) do
        if item.uid == iteminfo.uid then
            if doPlayerRemoveItem(cid, moneyItem, iteminfo.price) then
                doPlayerAddItem(cid, iteminfo.itemid, iteminfo.count or 1)
                doPlayerSendTextMessage(cid, 25, 'You have bought '.. iteminfo.count ..' '..getItemNameById(iteminfo.itemid)..'.')
                doSendMagicEffect(getThingPos(cid), 13)
            else
                doPlayerSendCancel(cid, 'You need '..iteminfo.price..' points to buy this item.')
                doSendMagicEffect(getThingPos(cid), 2)
            end
            break
        end
    end
    if item.itemid % 2 == 1 then
        doTransformItem(item.uid, item.itemid + 1)
    else
        doTransformItem(item.uid, item.itemid - 1)
    end
    return true
end

Fiz um código único pra você usar em quantas alavancas quiser. Só precisa criar uma tag no actions.xml com um actionid específico. Daí você coloca um uniqueid diferente em cada alavanca.

 

Explicação:

  • Para cada item diferente, faça uma alavanca diferente
  • Para adicionar novos itens, adicione outra linha deste tipo:
{itemid = id do item, price = preço em itens do tipo 10559, count = quantos o jogador irá receber, uid = unique id da alavanca},

Não esqueça da vírgula

Editado Setembro 19 por omega blueheaven

warriorfrogW
19 de setembro de 2013 às 23:27
function onUse(cid, item, fromPos)
    local moneyItem = 10559
    local moneyItemCount = getPlayerItemCount(cid, 10559)
    local items_to_sell = {
    {itemid = 2516, price = 3, count = 1, uid = 5050},
    {itemid = etc, price = 2, count = 1, uid = 5051},
}
    
    for _, iteminfo in pairs(items_to_sell) do
        if item.uid == iteminfo.uid then
            if doPlayerRemoveItem(cid, moneyItem, iteminfo.price) then
                doPlayerAddItem(cid, iteminfo.itemid, iteminfo.count or 1)
                doPlayerSendTextMessage(cid, 25, 'You have bought '.. iteminfo.count ..' '..getItemNameById(iteminfo.itemid)..'.')
                doSendMagicEffect(getThingPos(cid), 13)
            else
                doPlayerSendCancel(cid, 'You need '..iteminfo.price..' points to buy this item.')
                doSendMagicEffect(getThingPos(cid), 2)
            end
            break
        end
    end
    if item.itemid % 2 == 1 then
        doTransformItem(item.uid, item.itemid + 1)
    else
        doTransformItem(item.uid, item.itemid - 1)
    end
    return true
end

Fiz um código único pra você usar em quantas alavancas quiser. Só precisa criar uma tag no actions.xml com um actionid específico. Daí você coloca um uniqueid diferente em cada alavanca.

 

Explicação:

  • Para cada item diferente, faça uma alavanca diferente
  • Para adicionar novos itens, adicione outra linha deste tipo:
{itemid = id do item, price = preço em itens do tipo 10559, count = quantos o jogador irá receber, uid = unique id da alavanca},

Não esqueça da vírgula

 

 

[Error - LuaInterface::loadFile] data/actions/scripts/shop.lua:6: unexpected sybom near '<'

[Warning - Event::loadScript] Cannot load script <data/actions/scripts/shop.lua

data/actions/scripts/shop.lua:6: unexpeteced sysbom near '<'

 

<action uniqueid="5050" event="script" value="shop.lua"/>

E lá no mapa coloquei no uid o 5050

OmegaO
19 de setembro de 2013 às 23:45

Cara, eu testei aqui e tá funcionando, então você tá configurando alguma coisa errada aí, até porque tá reclamando de um erro near (perto) de '<'. Sendo que no meu código não tem nenhum < ...

warriorfrogW
20 de setembro de 2013 às 00:46

Esquece! Foi burrice minha, script funcional, foi q eu tinha colocado um comentario e tals, vlw reputado!

RoksasR
20 de setembro de 2013 às 18:08

Tópico movido para a seção de dúvidas e pedidos resolvidos.