Ir para conteúdo

(Resolvido)Sistema de Preço quando da Look no Item (0.3.6)

Featured Replies

  • Respostas 7
  • Visualizações 1k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Testado em TFS 0.4 Protocolo: 8.60   Vá em creaturescripts/creaturescripts.xml e adicione essa tag:   <event type="look" name="priceLook" event="script" value="priceLook.lua"/> Agora, em c

Postado
  • Solução

Testado em TFS 0.4 Protocolo: 8.60

 

Vá em creaturescripts/creaturescripts.xml e adicione essa tag:
 

<event type="look" name="priceLook" event="script" value="priceLook.lua"/>

Agora, em creaturescripts/scripts copie qualquer arquivo com extensão ".lua" e renomeie para "priceLook", ficando "priceLook.lua"(sem aspas) apague tudo que tem dentro e ponha isso:
 

function onLook(cid, thing, position, lookDistance)  

local items = {
[7618] = 100,
}
local coin = "R$"

    if isCreature(thing.uid) or thing.itemid <= 0 then
        return true
    end
    
    if items[thing.itemid] then
        local desc = getItemAttribute(thing.uid, "description") or ""
        local str = "You see "..(thing.type > 1 and thing.type or getItemInfo(thing.itemid).article).." "
        str = str..(thing.type > 1 and getItemInfo(thing.itemid).plural:gsub("%a", string.upper, 1) or getItemInfo(thing.itemid).name:gsub("%a", string.upper, 1))..".\n"..(desc ~= "" and desc..'\n' or "")
        str = str.."Price: "..coin..(items[thing.itemid]*thing.type).."."
        if getPlayerAccess(cid) >= 3 then
            str = str.."\nItemID: ["..thing.itemid.."]."
            str = str.."\nPosition: [X: "..position.x.."] [Y: "..position.y.." [Z: "..position.z.."]."
        end
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, str)
        return false
    end
return true
end

Agora, no login.lua, antes do último "return true", adicione isso:
 

registerCreatureEvent(cid, "priceLook")

Script instalado, configuração:

Onde tem:

local items = {
[7618] = 100,
}

Você pode adicionar/remover items, na parte dos colchetes "[]" você coloca o id do item, e onde fica o "=" você coloca o preço por unidade, ou seja, se você tem 1 health potion, ele vai valer 100, se você tem 2, ele vai valer 200, só copie a linha inteira e cole só edite o que foi dito, nunca esqueça de deixar a vírgula no final "[7618] = 100,".

 

Onde tem:
 

local coin = "R$"

Seria a moeda do seu servidor, você pode mudar para qualquer simbolo.

 

 

 

Print:
hNwE6rV.png

Editado por Snowsz (veja o histórico de edições)

                              _
                          .-'` `}
                  _./)   /       }
                .'o   \ |       }
                '.___.'`.\    {`
                /`\_/  , `.    }                                      ME DA UMA NOZ!
                \=' .-'   _`\  {
                 `'`;/      `,  }
                    _\   @   ;  }
                   /__`;-...'--'

Cluck!

Postado
  • Autor

Testado em TFS 0.4 Protocolo: 8.60

 

Vá em creaturescripts/creaturescripts.xml e adicione essa tag:

 

<event type="look" name="priceLook" event="script" value="priceLook.lua"/>

Agora, em creaturescripts/scripts copie qualquer arquivo com extensão ".lua" e renomeie para "priceLook", ficando "priceLook.lua"(sem aspas) apague tudo que tem dentro e ponha isso:

 

function onLook(cid, thing, position, lookDistance)  

local items = {
[7618] = 100,
}
local coin = "R$"

    if isCreature(thing.uid) or thing.itemid <= 0 then
        return true
    end
    
    if items[thing.itemid] then
        local desc = getItemAttribute(thing.uid, "description") or ""
        local str = "You see "..(thing.type > 1 and thing.type or getItemInfo(thing.itemid).article).." "
        str = str..(thing.type > 1 and getItemInfo(thing.itemid).plural:gsub("%a", string.upper, 1) or getItemInfo(thing.itemid).name:gsub("%a", string.upper, 1))..".\n"..(desc ~= "" and desc..'\n' or "")
        str = str.."Price: "..coin..(items[thing.itemid]*thing.type).."."
        if getPlayerAccess(cid) >= 3 then
            str = str.."\nItemID: ["..thing.itemid.."]."
            str = str.."\nPosition: [X: "..position.x.."] [Y: "..position.y.." [Z: "..position.z.."]."
        end
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, str)
        return false
    end
return true
end

Agora, no login.lua, antes do último "return true", adicione isso:

 

registerCreatureEvent(cid, "priceLook")

Script instalado, configuração:

Onde tem:

local items = {
[7618] = 100,
}

Você pode adicionar/remover items, na parte dos colchetes "[]" você coloca o id do item, e onde fica o "=" você coloca o preço por unidade, ou seja, se você tem 1 health potion, ele vai valer 100, se você tem 2, ele vai valer 200, só copie a linha inteira e cole só edite o que foi dito, nunca esqueça de deixar a vírgula no final "[7618] = 100,".

 

Onde tem:

 

local coin = "R$"

Seria a moeda do seu servidor, você pode mudar para qualquer simbolo.

 

 

 

Print:

hNwE6rV.png

Perfeito, funciona realmente bem, mas infelizmente ele acaba substituindo todos os outros atributos dos itens do servidor. Por exemplo, para mostrar o preço, temos que sacrificar as informações (attribute keys) do items.xml como description, sistmas de slot, forja, atk, def e todos os outros... 

 

Mesmo assim, muito obrigado pelo script, acho q no final das contas uma edição das sources seria realmente mais indicado, muito embora ainda esteja pesquisando e tentando como fazer, talvez criar um novo atribute key!

 

Forte abc e obrigado pelo script amigo!

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo